【发布时间】:2018-02-06 23:03:46
【问题描述】:
对于每个类,我们都有对应的测试类和测试资源。例如,对于src/main/java 下的类Example.java,我们在src/test/java 下有测试类TestExample.java,在src/test/resources 下有名为Example 的资源目录。
如果测试资源共享相同的目录结构,我可以直接从测试资源运行所有测试用例。我可以在src/test/resources 下的测试资源目录上执行,IntelliJ 会自动启动src/test/java 下同一目录路径下的所有测试类。我的问题是,我怎样才能让 IntelliJ 只在该测试目录上运行一个测试类而不是所有其他测试类?如果我尝试在特定的类名上执行,它会显示0 test classes found in package,但我可以转到父目录并执行,它将执行该目录中的所有类。有什么方法可以通过测试资源在目录中执行单个测试类?
【问题讨论】:
-
最好是在 github 上分享您的代码,以便人们可以在本地运行它并尝试为您提供帮助
-
ExampleTest.java 中有实际测试吗?请在您的问题中添加代码
-
项目结构的屏幕截图也会有所帮助
-
我不明白你想做什么以及为什么。您可以告诉 IntelliJ 您要运行哪些测试,然后测试将获取它被编程使用的任何资源(例如,使用
getClass().getResourceAsStream())。但是您听起来好像要指向资源?为什么? -
@flup 方便。我们有几十个测试类,每个测试类对应几十个测试资源。我们已经抽象出测试工具,以便测试人员可以专注于输入和预期的输出。因此,如果测试人员可以直接从测试类以来的测试资源中执行测试,那将很方便。
标签: java unit-testing intellij-idea junit