Junit测试注释与测试后缀或前缀

时间:2018-01-03 06:37:29

标签: java junit

我开发了一个java应用程序,我想为它编写单元测试。 (我之前从未在java中编写单元测试)我注意到有两个不同的例子是通过编写Junit测试。像E.g. 1

public void testExample(){
//do something...
}

比例如2

@Test
public void Example(){
//do something...
}

哪一个更有用?

2 个答案:

答案 0 :(得分:4)

Test convention在JUnit4中发生了变化

不再需要测试前缀,只需在方法前使用@Test注释:

  

JUnit 3使用命名约定来识别测试方法。 JUnit 4为此目的使用注释,因此前缀" test"实际上是多余的。它不仅是多余的,而且是多余的

     

取而代之的是:

@Test

public void testAverageTotalStartedThreadCount() {}
     

你可以跳过前缀" test"并仅使用注释:

@Test

public void averageTotalStartedThreadCount() {}
     

"测试"前缀仍然由Eclipse和NetBeans生成,因此如果您不喜欢多余的命名,则必须手动删除它。 "测试"但是,测试类名称中的前缀仍然有用。它使得测试类的搜索更加容易。

答案 1 :(得分:0)

例如1,我假设您计划在出现​​问题时抛出异常或记录。

虽然你可以做到,但首选方法是使用像Junit这样的框架编写适当的单元测试(@Test来自Junit框架)。

Junit框架使测试更容易,并被认为是Java开发中的标准。您可以使用Assert等功能来检查其中的方法或字段的输出。因此,Ex 2在工业上是优选的。请参考使用junit framework编写的此测试文件 -

https://github.com/akashchandwani/Algorithms/blob/master/Algorithms/test/sorting/SortingTest.java

这里有一个你可以参考的junit教程,网上有几个,你可以选择适合你的。

http://www.vogella.com/tutorials/JUnit/article.html