如果我有一个包含多个测试的测试套件,当我尝试从代码编辑器的上下文菜单或JUnit视图运行单个单元测试时,它似乎坚持始终运行整个套件,而不是单一的测试。有没有办法禁用更改此行为,以便我可以要求运行它,只有那样,测试。
答案 0 :(得分:93)
在包资源管理器中展开课程。它应该向您展示所有方法。右键单击要运行的一种方法,然后选择Run As - >上下文菜单中的JUnit(仅使用Eclipse 3.4.1进行测试)。在JUnit-results视图中的单个条目上选择“Run”以重新运行测试也会以相同的方式工作。
答案 1 :(得分:24)
我知道的最快方式:
如果您想要运行所有测试,可以跳过步骤1和步骤1。 4。
答案 2 :(得分:13)
在Eclipse 3.5中,您可以通过将测试运行器更改为JUnit 3来解决此问题。这仅适用于JUnit 3测试,而不适用于JUnit 4测试。您可以通过执行以下操作来更改测试运行器:
它也可以在其他版本中使用。
答案 3 :(得分:11)
这可以在带有JUnit 4.8.2的Eclipse Indigo中实现。您可以在Outline
窗格中右键单击要单独进行单元测试的方法,然后选择Run As -> JUnit Test
。
您甚至可以在源代码编辑器中有选择地右键单击测试方法名称,然后选择Run As -> Junit Test
。
答案 4 :(得分:9)
不要使用 Strg + F11 ,但热键 Alt + Shift + X < / kbd> - &gt; Ť。
然后Eclipse将执行当前打开的文件作为JUnit测试。绿色播放按钮仅运行上次选择的运行配置。
对我来说,它适用于 Alt + Shift + X - &gt; Ť
答案 5 :(得分:9)
我将通过包含一个高效键盘的方式添加到其他人,只允许您调试单个单元测试(方法)。
使用
将光标移动到方法名称将光标放在方法名称上(或在它之前):
运行测试后,您可以返回光标所在的位置:
替代 + 返回
你几乎得到了类似REPL的行为:
Ctrl + Shift + Up 和 Alt + Shift + X - &gt; T 和 Alt + 返回
您还可以快速设置断点:
控制 + 移 + 乙
答案 6 :(得分:3)
右键单击文件中测试方法名称的某处,然后选择“运行” - &gt; “Junit测试”。我一直用Kepler和JUnit 4来做。
答案 7 :(得分:2)
我遇到了其他人使用Eclipse 3.4.1和JUnit 4测试运行器时遇到的同样问题 - 无法运行单一测试。但我在其他地方找到了解决问题的建议。我的测试类仍在扩展junit.framework.TestCase。当我停止扩展TestCase时,一切正常,我能够使用JUnit 4测试运行器运行单个JUnit测试。当然,我需要使用JUnit 4注释为断言方法使用静态导入,但我已经这样做了 - 我刚刚没有删除TestCase继承。
答案 8 :(得分:1)
如果您在多个文件中有许多测试,并且您只想在特定文件中运行测试,则可以右键单击该文件,然后选择run as - &gt; junit测试。 现在,如果你想只运行一个测试,包含在一个包含许多测试的文件中,我的猜测是(我没有在这里安装eclipse),Outline视图将列出文件的所有测试方法,你可能会右键单击一个测试方法并将其作为JUNit测试执行。
希望它有所帮助。
答案 9 :(得分:0)
对我来说,它在Eclipse 3.4.2中也不起作用,虽然它在之前的版本中有效(我尝试从包资源管理器运行单个方法,从junit视图运行单个junit测试)
答案 10 :(得分:0)
我同意关于3.4.2不再像以前版本那样工作的观点。在您从JUnit视图中右键单击一组测试中的单个测试并执行该测试之前。在最新版本中,它坚持始终运行所有这些。当然,视图会运行您首先单击的测试,并将其余部分转储到名为“Unrooted Tests”的汇总中。如果有人想到这一点,我想知道如何绕过它。
答案 11 :(得分:0)
在这里阅读一些评论,似乎您可能有兴趣在更改代码时运行测试,而不会忽视您正在处理的代码。有一个eclipse插件可以做到这一点。请参阅infinitest。
答案 12 :(得分:0)