我如何在Gradle/Eclipse项目中说服Eclipse/Junit4找到所有测试



背景

Junit 4测试跑者,在Eclipse 4.11中。

我有一个从build.gradle文件中导入的日食项目。该项目有几种不同的源路径,每个路径都有自己的测试路径。Main/Java,测试/Java,Foo/Java,Footest/Java,脚款/资源等等。

问题

当我运行"整个项目"时junit配置(调试,运行,代码覆盖范围等(,它所发现的只是" test/java"中的测试。我在此文件夹中成功添加了新的测试类和新的@Test方法。

当我尝试"在选定的项目,软件包或源文件夹中运行所有测试"时,

来自任何其他源路径的测试将被忽略。此外,选择特定的源文件夹" Footest/java"错误,并使用消息"未在测试跑步者" junit 4'中找到"未找到测试"。但是,当我使用"单个测试"时,>选项在特定的测试类中,它发现其所有测试方法都可以。我可以指定一个特定的方法,并且测试运行良好。

不起作用的东西

我尝试更改我的非车手测试源路径的输出目录,以写入与我的工作测试源路径相同的文件夹。没有欢乐。

我尝试了Eclipse的各种设置"包含测试来源"。标志我的不同测试源路径。在我的所有测试源路径中,开为开或关,行为是相同的。/test/java总是找到,fooTest/java总是错过的。不,我没有在我的4个不同的测试源路径上尝试过所有16个标志的排列。

我尝试从.project和.classpath中删除所有与Gradle相关的东西。行为没有变化。该死...寄希望了。

我尝试在.classpath项目文件中更改<classpathentry/>的顺序。当我移动test/java使其不再是第一个测试路径时,我再次获得了"未找到的测试"。错误,就像我针对Junit配置时"在选定项目,软件包"或"源文件夹"中运行所有测试时一样。在我的其他测试源文件夹之一。将其放回原始行为。


有人是否有进一步的建议,我可以尝试将剩余的测试进行运行,而我必须一次手动运行一个测试类,而没有单独的配置?

我切换到junit 5测试跑者,并且在所有内容上都可以拾取。这是老式包装,能够找到我所有的Junit 4测试,此后我修改了几个测试以使用Junit 5中的NewFangled注释和断言。

也许这是Junit 4 Runner中的已知错误/限制?呃,好吧。它现在起作用。

最新更新