问题说明
我无法获得"激活测试"运行我所有的测试。我有几个测试文件(目前有5个)。我们打电话给他们:
DIR1 \ subdir1 \ ClassOneTest.java
DIR1 \ subdir2 \ ClassTwoTest.java
DIR1 \ subdir2 \ ClassThreeTest.java
DIR1 \ subdir2 \ ClassFourTest.java
DIR1 \ subdir2 \ ClassFiveTest.java
当我跑步"激活测试" (和其他人一样......就像~testQuick),只有四个人跑(说"一个"通过"四")。 "五"不运行。我重构>重命名"五"到"六"它仍然没有运行。
我首先怀疑我的测试代码,因此我删除了所有有意义的测试,并替换为简单的assertTrue(false)
或assertTrue(true)
。我甚至删除了@RunWith或@FixMethodOrder等注释。不过,问题仍然存在。
然后我尝试交换文件名。如果我用" Five"和"四",然后是新的"四"跑步,新的"五"不运行。所以似乎问题与文件发现有关,而不是与其中的代码有关。注意:"五"和"四"在同一个目录中。
我也尝试将Play 2.1的建议应用于build.sbt
(链接:Play Framework (2.1.3) doesn't run any tests)。所做的只是将[info] Test ... started
信息静音,但没有发现其他测试。
问题
我已经没有想法了。有没有人有我可以尝试的建议? 如果您需要特定的代码示例/配置设置,请指定,我将尝试适应。
多一点信息:
- 如果我更改源,会发现并运行某些测试文件。其他测试文件,不那么幸运。
- 使用IntelliJ Ultimate 15.0.2
- 测试目录结构遵循项目的结构
- 当前build.sbt有:
javaOptions in Test += "-Dlogger.file=conf/logback.xml"
testOptions += Tests.Argument(TestFrameworks.JUnit, "-q", "-v")
答案 0 :(得分:5)
您可以在激活器控制台中尝试clean
然后compile
,然后再次尝试运行测试。
听起来很明显,但它可能有用。