Eclipse JUnit 5 SecruityException при выполнении тестов - PullRequest
0 голосов
/ 25 марта 2020

Я думаю, что, возможно, я единственный, кто столкнулся с этой проблемой.

Сегодня я обновил установку eclipse до версии 2020-03 (4.15.0). Я также пытаюсь написать очень простой тест JUnit 5 для нового метода, над которым я работаю.

Когда я запускаю свой тест, прямо сейчас просто базовая заглушка c, я получаю следующую ошибку:


    java.lang.SecurityException: class "org.junit.platform.commons.PreconditionViolationException"'s signer information does not match signer information of other classes in the same package
        at java.base/java.lang.ClassLoader.checkCerts(ClassLoader.java:1150)
        at java.base/java.lang.ClassLoader.preDefineClass(ClassLoader.java:905)
        at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1014)
        at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151)
        at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:821)
        at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:719)
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:642)
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:600)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
        at org.eclipse.jdt.internal.junit5.runner.JUnit5TestLoader.createUnfilteredTest(JUnit5TestLoader.java:75)
        at org.eclipse.jdt.internal.junit5.runner.JUnit5TestLoader.createTest(JUnit5TestLoader.java:66)
        at org.eclipse.jdt.internal.junit5.runner.JUnit5TestLoader.loadTests(JUnit5TestLoader.java:53)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:526)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:770)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:464)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210)

Я также вижу следующее диалоговое окно

enter image description here

Моя конфигурация запуска: enter image description here

Я перепробовал все основные выпуски junit-jupiter (агрегатора) до версии 5.5.0, и все они привели к одной и той же проблеме.

Я пробовал это решение . Тем не менее, этот вопрос касается класса не найден. Я также попробовал то же самое решение, используя junit-platform-commons версии 1.6.1. без изменений.

Однако я могу запустить конфигурацию maven с помощью -Dtest=DeaFileListTest test при выполнении тестов.

Мой тестовый пример прост, я создаю экземпляр объекта, который имеет метод, который я хочу протестировать, и затем мой тест.


    import static org.hamcrest.MatcherAssert.assertThat;
    import static org.hamcrest.Matchers.empty;
    import static org.hamcrest.Matchers.not;

    import java.io.IOException;
    import java.util.List;

    import javax.ws.rs.core.Response;

    import org.junit.jupiter.api.AfterAll;
    import org.junit.jupiter.api.BeforeAll;
    import org.junit.jupiter.api.Test;

    import com.mfgweb.FileRepo;

    class DeaFileListTest {

        private static FileRepo filerepo;
        private static Response response;

        @BeforeAll
        static void setUpBeforeClass() throws Exception {

            filerepo = new FileRepo();
            response = filerepo.getDeaFiles();
        }

        @AfterAll
        static void tearDownAfterClass() throws Exception {

            response = null;
            filerepo = null;
        }

        @Test
        public void deaFileListIsNotEmptyTest() throws IOException {

            @SuppressWarnings ( "unchecked" )
            List< String > files = ( List< String > )response.getEntity();

            assertThat( files, not( empty() ) );
        }
    }

Поэтому мне любопытно, почему я получаю Исключение безопасности, когда запускаю тест в затмении, хотя Maven, кажется, выполняет их нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...