Исключение класса не найдено при запуске тестов JUnit из тестовой банки - PullRequest
0 голосов
/ 30 апреля 2019

Я строю проект в среде Windows Eclipse, а затем пытаюсь протестировать jar-файл проекта, используя jar-тест в среде Unix. Когда я бегу, я получаю то, что показано ниже. Я использую Maven с плагином сборки, чтобы упаковать проект с помощью Test Jar, и я вижу класс, который предположительно отсутствует внутри jar, когда я запускаю команду -tf.

java -cp MyServerTest.jar: junit.jar junit.runner.JunitCore com.MyServer.services.ZoweAuthServiceTest

Результаты:

java.lang.NoClassDefFoundError: com.MyServer.services.ZoweAuthService на com.MyServer.services.ZoweAuthServiceTest.testQueryToZowe (ZoweAuthServ iceTest.java:40) Вызывается: java.lang.ClassNotFoundException: com.MyServer.services.ZoweAuthService

Ответы [ 2 ]

0 голосов
/ 01 мая 2019

Я понял это.Думаю, мне следовало упомянуть, что я использую весеннюю загрузку.Spring помещает основные классы моего проекта под специальным префиксом в jar-файле «BOOT-INF», который не позволяет тестовому классу найти класс, который он хочет протестировать.Я добавил exec Classifer к моей поме.Это создает две отдельные банки.Один для выполнения и тот, который имеет нормальные ссылки на классы для тестирования.

`<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <classifier>exec</classifier>
    </configuration>
</plugin>` 
0 голосов
/ 30 апреля 2019

Вы можете использовать основной ответ из этого поста:

Как запустить тестовые случаи JUnit из командной строки

Обязательно запустите из текущей директории вашего jar-файла и настройте его в соответствии с версией junit.

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