1

出于测试目的(没有双关语),我使用 JUnit Jupiter 附带的控制台启动器在 IDE 或 MAven 之外运行一些测试。它会找到所有 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 运行。

4

1 回答 1

4

如果正确完成,这可以正常工作(我这边的用户错误)。要在任何项目(好吧,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 测试。

于 2018-07-25T11:53:37.697 回答