2013-02-26 155 views
0

从历史上看,我总是写我的单元测试是这样的:运行JUnit测试套件在Eclipse

public void WidgetTest { 
    @Test 
    public void test_whatever() { 
     // Given... 

     // When... 

     // Then... 
    } 
} 

这让我右键单击Eclipse和我的测试文件Run As >> JUnit,并测试1特别测试,直接从Eclipse内部。然后,在执行本地(基于Ant的)构建时,我配置了一个<junit> Ant任务,以立即运行我所有的src/test/java测试。

我现在正在寻找一种介于两者之间的解决方案。也就是说,只需单击一个按钮,就可以一次性从Eclipse内部运行所有测试类。一位同事建议Junit有一个“测试套件”的概念,我可以将所有测试类都附加到这个测试套上,但看起来这个测试套件是某种我不想包含的JAR /工具我的项目。

所以我问:我怎么能定义这样一个“测试套件”,包括我所有的测试类,并从Eclipse内部一举全部运行它们?提前致谢。

+0

看看这个问题http://stackoverflow.com/questions/457276/junit4-test-suites ...当你创建你的套件并把所有的测试类放入它中后,你可以用右键'点击'和'作为junit测试运行' – A4L 2013-02-26 13:31:28

回答

9

您可以在Eclipse中右键单击某个项目或包,然后选择“Run As-> JUnit Test”,以运行该项目或包中的所有测试。除非您只想运行测试的子集,否则不需要测试套件。

+0

这对我来说是最干净的方式。 TestSuite并不像它那样有用。在某些项目中(例如Ant + JUNIT 3.X)它可能还是有意义的,但在其他一些项目(maven + JUNIT 4)中却没有用处。从Eclipse开始,Perception解决方案在任何情况下都可以。 – 2013-02-26 13:35:22

+0

感谢@Perception +1 - 请在kolja TM的答案下看到我的评论 - 我对你有同样的问题!再次感谢! – IAmYourFaja 2013-02-26 13:49:32

+0

@DirtyMikeAndTheBoys - np,是的,它有效地扫描你的资源(项目,包等),用'@ Test'注解的方法,然后用嵌入式jUnit插件运行它们。 – Perception 2013-02-26 13:53:01

1

您是否尝试过右键单击您的项目并选择Run as - > JUnit test?这将运行项目中的所有Unittests。

+1

Thanks @kolja TM(+1) - 它如何知道哪些是单元测试?它只是扫描'@ Test'方法吗?再次感谢! – IAmYourFaja 2013-02-26 13:49:06