Запускать тесты 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.

Другие вопросы по тегам