我有一个项目,其中一个包包含所有 JUnit 测试。 (但那些不在 src/test 中,而是在 src/main 中)。在 Eclipse 环境中,我可以选择包并作为 JUnit 运行。然后它将按字母顺序执行类。但我现在想做的是做同样的事情,但使用我构建的 jar。我该怎么做 ? (在命令行中)
最佳答案
我能想到的最接近这个问题的解决方案是将套件类添加到您的 src 代码并从命令行运行 suite
。如果您愿意,可以使用 cpsuite
为您提供的动态类路径搜索并执行以下操作(这也将更通用,并且不涉及向您的项目添加套件类):
用这个类写一个jar:
import org.junit.extensions.cpsuite.ClasspathSuite;
import org.junit.extensions.cpsuite.ClasspathSuite.IncludeJars;
import org.junit.runner.RunWith;
@RunWith(ClasspathSuite.class)
@IncludeJars(true)
public class MySuite {
}
在类路径中包含这个 jar 并从命令行运行这样的东西:
java -cp <path-to-where MySuite jar>:<path-to-tested-jar + all its dependencies>:<path-to cpsuite.jar + all its dependencies> org.junit.runner.JUnitCore <full-package-name-to-where-MySuite-is-in>.MySuite
关于java - 如何在 jar 中执行 JUnit 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25237151/