【发布时间】:2019-11-06 15:41:11
【问题描述】:
背景
JUnit 4 测试运行器,在 Eclipse 4.11 中。
我有一个从 build.gradle 文件导入的 eclipse 项目。这个项目有几个不同的源路径,每个都有自己的测试路径。 main/java、test/java、foo/java、fooTest/java、fooTest/resource 等等。
问题
当我运行“整个项目”JUnit 配置(调试、运行、代码覆盖等)时,它发现的只是“test/java”中的测试。我已在此文件夹中成功添加了新的测试类和新的@Test 方法。
当我尝试“在选定的项目、包或源文件夹中运行所有测试”时,将忽略来自任何其他源路径的测试。此外,选择特定的源文件夹 'fooTest/java' 会出错,并显示消息“No tests found with test runner 'Junit 4'”。 但是,当我对特定测试类使用“运行单个测试”选项时,它发现它的所有测试方法都很好。我可以指定一个特定的方法,测试运行得很好。
没用的东西
我尝试更改我的非主要测试源路径的输出目录,以写入与我的工作测试源路径相同的文件夹。不开心。
我为我的不同测试源路径尝试了 Eclipse 的“包含测试源”标志的各种设置。打开或关闭,我的所有测试源路径的行为都是相同的。 /test/java 总是被找到,fooTest/java 总是被错过。不,我没有在 4 个不同的测试源路径中尝试过所有 16 种标志排列。
我尝试从 .project 和 .classpath 中删除所有与 gradle 相关的内容。行为没有变化。该死的……让我的希望大增。
我尝试更改<classpathentry/> 在.classpath 项目文件中的顺序。当我移动 test/java 使其不再是第一个测试路径时,我再次收到“未找到测试”错误,就像我瞄准 junit 配置时“在选定的项目、包或源中运行所有测试文件夹”在我的其他测试源文件夹之一。放回去恢复了原来的行为。
有没有人有进一步的建议,我可以尝试让我的剩余测试在没有单独配置的情况下运行,我必须一次手动运行一个测试类?
【问题讨论】:
-
你如何运行测试? Eclipse 启动器,gradle 任务?
-
我通过 Eclipse 运行程序运行它们...通过单击 UI 中的“调试”或“运行”,或者按 F11 或 ctrl+F11(它们分别执行相同的操作)。 gradle 任务已经被“源集”分开,我可以(并且确实)在命令行提供多个任务......但是 Eclipse 只有“整个项目”选项,但它并没有像宣传的那样工作。跨度>