运行 jqwik 使用 Jupiter 控制台启动器进行测试
Run jqwik tests with Jupiter console launcher
出于测试目的(没有双关语意)我 运行 在 IDE 或 MAven 之外使用 JUnit Jupiter 附带的控制台启动器进行了一些测试。它找到所有 JUnit 4(又名 Vintage)和 JUnit 5(又名 Jupiter)测试。
但是,它没有发现我的 jqwik 测试。
我尝试了什么:在 Maven 项目中,调用 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
这个咒语 运行 Jupiter 和 Vintage,但不是 jqwik,而 Surefire 运行 会。
如果操作正确(我这边的用户错误),这可以正常工作。要在 任何 项目(好吧,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 测试。
出于测试目的(没有双关语意)我 运行 在 IDE 或 MAven 之外使用 JUnit Jupiter 附带的控制台启动器进行了一些测试。它找到所有 JUnit 4(又名 Vintage)和 JUnit 5(又名 Jupiter)测试。
但是,它没有发现我的 jqwik 测试。
我尝试了什么:在 Maven 项目中,调用 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
这个咒语 运行 Jupiter 和 Vintage,但不是 jqwik,而 Surefire 运行 会。
如果操作正确(我这边的用户错误),这可以正常工作。要在 任何 项目(好吧,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 测试。