Как удалить несуществующую окончательную ошибку наследования?

Я использую JUnit 4.8.1, и я управляю всеми Junit Test из 6 проектов из проекта Eclipse под названием Alltests, который выглядит так

package ch.mct.jdyna.tests;

import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;

@RunWith(Suite.class)
@SuiteClasses({ 
    ch.mct.jdyna.core.duplicatechecking.AllTests.class,
    ch.mct.jdyna.core.matching.AllTests.class,
    ch.mct.jdyna.core.matchingoptimization.AllTests.class,
    ch.mct.jdyna.core.textanalysis.testing.AllTests.class,
    ch.mct.jdyna.dataaccesslayer.testing.AllTests.class,
    ch.mct.jdyna.dataacquisition.testing.AllTests.class,
})
public class AllTests {

}

в проектах, у меня также есть файл в том же Стиль, вызывающий все Junit Tests самого проекта. Проблема в том, что когда я вызываю метод теста TestCreateProfiles () из глобального контекста, есть ошибка, от класса Alltests в самом проекте все зеленое.

Способ тестирования:

/**
 * Test method for
 * {@link ch.mct.jdyna.dataacquisition.CvPreprocessing#createProfiles(java.util.List)}
 * .
 */
@Test
public final void testCreateProfiles() {
    List<Cv> cvs = new LinkedList<Cv>();
    for (int i = 0; i < 10; ++i)
        cvs.add(testingCv);
    List<CurriculumVitae> actualList = CvPreprocessing.createProfiles(cvs);
    assertEquals(cvs.size(), actualList.size());
}

Метод в тесте:

/**
 * Creates CurriculumVitae from the given data in CV.
 * 
 * @param cvList
 *            the CVs data
 * @return the list of CurriculumVitae
 */
public static List<CurriculumVitae> createProfiles(List<Cv> cvList) {
    if (cvList == null)
        return null;

    List<CurriculumVitae> cvProfileList = new ArrayList<CurriculumVitae>();
    for (Cv cv : cvList) {
        String title = cv.getTitle();
        if (title != null)
            title = title.substring(0,
                    Math.min(title.length(), MAXIMAL_TITLE_LENGTH - 1));
        String body = mergeBody(cv);
        Date date = cv.getLastUpdate();
        Calendar cal = Calendar.getInstance();
        if (date != null)
            cal.setTime(date);
        BigDecimal externalId = cv.getId();
        CurriculumVitae cvProfile = new CurriculumVitae(title, body, cal,
                externalId);
        cvProfileList.add(cvProfile);
    }
    return cvProfileList;

}

Ошибка:

java.lang.VerifyError: Cannot inherit from final class
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at ch.mct.jdyna.dataacquisition.CvPreprocessing.createProfiles(CvPreprocessing.java:71)
at ch.mct.jdyna.dataacquisition.testing.CvPreprocessingTest.testCreateProfiles(CvPreprocessingTest.java:112)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

У кого-нибудь есть опыт работы с такими проблемами?

заранее спасибо. Ману

0
задан Manu 31 August 2011 в 11:12
поделиться