在Eclipse中运行单个JUnit测试

时间:2009-03-14 17:27:13

标签: eclipse junit

如果我有一个包含多个测试的测试套件,当我尝试从代码编辑器的上下文菜单或JUnit视图运行单个单元测试时,它似乎坚持始终运行整个套件,而不是单一的测试。有没有办法禁用更改此行为,以便我可以要求运行它,只有那样,测试。

13 个答案:

答案 0 :(得分:93)

在包资源管理器中展开课程。它应该向您展示所有方法。右键单击要运行的一种方法,然后选择Run As - >上下文菜单中的JUnit(仅使用Eclipse 3.4.1进行测试)。在JUnit-results视图中的单个条目上选择“Run”以重新运行测试也会以相同的方式工作。

答案 1 :(得分:24)

我知道的最快方式:

  1. Ctrl + Shift + (将光标移动到当前方法声明),
  2. Alt + Shift + x (或 d 进行调试)然后按 t < / kbd>(&#34的热键;运行JUnit测试&#34; ),
  3. 检查测试结果,
  4. Alt + 返回之前的代码行。
  5. 如果您想要运行所有测试,可以跳过步骤1和步骤1。 4。

答案 2 :(得分:13)

在Eclipse 3.5中,您可以通过将测试运行器更改为JUnit 3来解决此问题。这仅适用于JUnit 3测试,而不适用于JUnit 4测试。您可以通过执行以下操作来更改测试运行器:

  1. 右键单击“大纲浏览器”中的一种测试方法
  2. 选择运行方式 - &gt;运行配置
  3. 在“测试”标签上,选择“运行单个测试”
  4. 在Test Runner下拉列表中,选择“JUnit 3”
  5. 它也可以在其他版本中使用。

答案 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)

我将通过包含一个高效键盘的方式添加到其他人,只允许您调试单个单元测试(方法)。

使用

将光标移动到方法名称
  • Ctrl + Shift + Up
  • Ctrl + Shift + Down
  • Ctrl + o 然后输入方法名称

将光标放在方法名称上(或在它之前):

  • Alt + Shift + D - &gt; T (调试)
  • Alt + Shift + X - &gt; T (运行)

运行测试后,您可以返回光标所在的位置:

替代 + 返回

你几乎得到了类似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)

仅运行一种测试方法。
在(包资源管理器或项目资源管理器)中展开类。它应该显示所有方法。右键单击要运行的一种方法,然后从上下文菜单中选择“运行方式-> JUnit”。
enter image description here