如何在Eclipse中运行单个JUnit测试方法?

15

在具有多个@Test注释的JUnit测试用例中,如何有选择地运行测试?

例如,从以下代码中,如何仅运行一个测试方法?

   @Test
   public void testHelloEmpty() 
   {
      assertEquals(h.getName(),"");
      assertEquals(h.getMessage(),"Hello!");
   }

   @Test
   public void testHelloWorld() 
   {
      // h.setName("World");
      assertEquals(h.getName(),"World");
      assertEquals(h.getMessage(),"Hello World!");
   }

我尝试仅突出一个 @ Test 方法并运行它,但这样做不起作用。


你使用哪个构建工具来运行测试? - Stefan Birkner
@StefanBirkner 我正在使用Maven,但我不感兴趣mvn测试。只是想能够选择其中一个@Test方法,在Eclipse中右键单击并运行为单元测试。 - AussieMoss
类似于这个线程https://dev59.com/12ox5IYBdhLWcg3wTypx,我希望可以从Eclipse中完成。 - AussieMoss
4个回答

10

如果要在Eclipse中运行单个测试用例(根据您上次的评论):

  • 转到Run(绿色前进箭头按钮) -> Run Configurations。
  • 右键单击JUnit,然后选择新建。
  • 填写您的测试用例和测试方法(搜索按钮在这里非常有帮助)。
  • 点击运行。

4
到了2015年还是一样,天哪...我需要为我想运行的每个单独的方法做这件事?这可能比一次性运行所有测试还要花费更长的时间。有没有Eclipse开发者看过Visual Studio中如何工作的情况?对于任何测试,任何时候只需两个点击 - 无需配置。我留下这个评论,希望有人能以同样的方式将其实现在Eclipse中。 - Thomas Weller
1
@Thomas 在较新的 Eclipse 版本中是可以实现这个功能的,请参考下面的其他答案。 - Jeen Broekstra
初始化错误 [Runner:JUnit 4] (0,00秒) - StackUser

9

看起来现在(Eclipse 4.4.0)这个可以很容易地完成。

如果将插入符放置在测试用例方法定义的开头,然后发出“运行”或“调试”命令(菜单或F11Ctrl+F11),则JUnit插件只运行该测试用例。

(另一方面,如果将插入符放置在方法的正文中,则会运行该类中的所有测试用例。)

有关运行JUnit测试的更多提示:

  • “转到上一个/下一个成员”命令可用于使用键盘快速将插入符移动到方法定义的开头。默认键绑定为Ctrl+Shift+Up/Down
  • 如果在“调试”,“JUnit”或“控制台”视图处于活动状态时发出“运行”或“调试”命令,则Eclipse将运行上次运行的配置。这可用于重新运行单个测试用例,而无需返回编辑器。
  • 可以通过导航“运行”菜单:Alt + RH,数字键来运行特定的运行配置。

2

1
将光标放在方法名称上,然后按下 Alt+Shift+X,接着再按下 T。这将作为 JUnit 测试运行测试方法。
注意:不要将光标放在方法内部。这将运行类中的所有方法。必须放在方法声明上。
另外请注意:如果您在测试套件中组织测试,则可能不会执行 @BeforeClass 测试设置。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接