【发布时间】:2011-12-15 01:52:45
【问题描述】:
我在 Eclipse 和 Ant 中运行 Junit 测试时遇到了差异。这是场景:
一切都在 Eclipse 中按预期运行,但是,在运行我创建的 Ant 构建脚本时,我无法获得准确的 Junit 报告。我对我们的测试运行程序和测试用例进行了一些更改(简而言之,我将 Test suite() 方法添加到我的所有测试用例中)返回一个新的 Junit4TestAdapter,并让我们的自定义运行程序执行 RunNotifier.fireTestAssumptionFailed(Failure)而不是 fireTestAssumption。现在在 Ant 中一切运行良好,但在 Eclipse 中运行时将失败标记为通过。
是否有任何 Eclipse 文档可以准确解释它如何运行 Junit 测试?我基本上想知道 Eclipse 如何执行 Junit 测试,是否直接通过 Ant 运行,是否使用 Java 与 Junit 交互等。如果有人知道该问题的实际解决方案,我也欢迎,但我会真的很想尝试自己解决这个问题,我只需要指出正确的方向。
【问题讨论】:
-
Eclipse 不使用您的 ant 构建文件来运行 JUnit 测试。这是肯定的。
-
我很清楚这一点,我试图弄清楚从 Ant 运行相同的测试套件与通过 Eclipse 插件运行它们之间的差异是什么。
-
您可能会从 Eclipse Junit 测试启动器中获得一些提示,尤其是参数选项卡和配置选项卡。
-
我查看了运行配置窗口,但似乎没有任何解决方案。本质上,我知道问题出在哪里,Junit 插件显然没有处理 testAssumptionFailure 事件,我不知道为什么。 Ant 和 Junit 都应该以相同的方式运行测试,除非像 Eclipse 插件这样的东西不支持 Test suite() 方法,这是我试图追踪的问题类型。
-
如果您需要 Eclipse 使用的命令来运行 JUnit 测试,请在测试运行时转到调试透视图并右键单击 JUnit 测试的 java 进程并检查属性将显示命令。