运行 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 测试。