gpt4 book ai didi

java - 使用 JUnit 5 控制台启动器运行 JAR 中包含的 JUnit 5 测试

转载 作者:行者123 更新时间:2023-12-01 16:40:31 27 4
gpt4 key购买 nike

我有一个名为 smoke-tests-fat-1.0.0-SNAPSHOT.jar 的胖 JAR,其中包含 JUnit 5 测试。这些测试在方法级别用 org.junit.jupiter.api.Test 进行注释。

我现在想使用 JUnit 5 Console Launcher 执行这些测试。不过,好像我还是做不到。

我已经尝试过:

  • java -jar junit-platform-console-standalone.jar --classpath Smoke-tests-fat-1.0.0-SNAPSHOT.jar --scan-classpath
  • java -jar junit-platform-console-standalone.jar --classpath Smoke-tests-fat-1.0.0-SNAPSHOT.jar --select-package=my.package

但这两个命令都不起作用。控制台启动器从未找到任何测试。

如何让控制台启动器执行 JAR 中包含的 JUnit 5 测试?

最佳答案

根据这个测试答案https://stackoverflow.com/a/52373592/1431016它应该按照您尝试的方式工作。

  • 您的测试类的命名是否与默认测试类名称模式要求相同? IE。从 Test 开始或以 Test[s] 结尾?
  • fat JAR 文件的内容是否正确打包? IE。匹配的目录树和包名称结构?

如果您的测试类遵循不同的命名模式,您可以通过 -n, --include-classname=PATTERN 将您的模式传递到控制台启动器,而不是重命名它们。选项:

--include-classname=PATTERN
Provide a regular expression to include only classes whose
fully qualified names match. To avoid loading classes
unnecessarily, the default pattern only includes class
names that begin with "Test" or end with "Test" or
"Tests". When this option is repeated, all patterns will
be combined using OR semantics. Default: [^(Test.*|.+[.$]
Test.*|.*Tests?)$]

关于java - 使用 JUnit 5 控制台启动器运行 JAR 中包含的 JUnit 5 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61869809/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com