Запускать тесты jqwik с помощью консоли запуска Юпитера
В целях тестирования (без каламбура) я запускаю некоторые тесты вне IDE или MAven, используя Console Launcher, который поставляется с JUnit Jupiter. Он находит все тесты JUnit 4 (он же Vintage) и JUnit 5 (он же Jupiter).
Тем не менее, он не обнаруживает мои тесты jqwik.
Что я пробовал: в проекте Maven invoken mvn test-compile dependency:copy-dependencies
затем в целевой папке:
java -jar …/junit-platform-console-standalone-1.2.0.jar -cp classes -cp test-classes -cp $(echo dependencies/* | tr ' ' :) -p example
Это заклинание запустит Юпитер и Урожай, но не jqwik, в то время как Surefire run.
1 ответ
Это работает нормально, если все сделано правильно (ошибка пользователя на моей стороне). Чтобы использовать консольные запуски в любом проекте (ну, проект Maven (ну, одномодульный проект Maven)), вы можете использовать следующие заклинания:
mvn clean test-compile dependency:copy-dependencies
java -jar junit-platform-console-standalone-1.2.0.jar \
-cp target/classes -cp target/test-classes \
-cp $(echo target/dependency/* | tr ' ' :) \
--scan-class-path target/test-classes
Вместо финала --scan-class-path
вариант, который вы можете использовать другие селекторы, такие как -p
для определенной упаковки; или добавить -e jqwik
выбрать только тесты jqwik.