JUnit4使用教程-快速入门

时间:2021-12-05 15:52:09

原文:http://blog.csdn.net/chenleixing/article/details/44259453

 序言

       大学刚学Java的时候就听说过JUnit了,单元测试框架,很好用的测试框架,JUnit测试框架将测试更加便捷和容易,编写测试代码也是简单、明了,功能强大。今天我给大家简单分享一下最新JUnit4的使用,几分钟入门!

导入jar包

      在集成开发环境中导入相应jar包:junit-4.12.jar、hamcrest-core-1.3.rc2.jar、hamcrest-library-1.3.rc2.jar。如果只导入第一个jar的话就不能启动测试程序会报错,报错及几个包的关系详见我的博客:JUnit4单元测试报错。在此,给大家提供一下这几个jar包的免费下载链接:

junit-4.12.jar下载

hamcrest-library-1.3.rc2.jar下载

hamcrest-core-1.3.rc2.jar下载

       导入方法看如下截图就明白了:

JUnit4使用教程-快速入门

 

新建测试用例

       右击包名,点击新建,或者新建里的others,选择JUnit test case,如下图所示:

JUnit4使用教程-快速入门

 

 

接下来,给测试类起名字和选择要测试的类,如下图所示:

JUnit4使用教程-快速入门

 

然后点击【Next】,选择要被测试类中的测试方法,如下图所示:

 

JUnit4使用教程-快速入门

最后新建完成,如下(第一个方法是生成的方法,后边几个都是我自己手动写上去的):

[java] view plain copy
  1. package JUnitTest;  
  2.   
  3. import static org.junit.Assert.*;  
  4.   
  5. import org.junit.After;  
  6. import org.junit.AfterClass;  
  7. import org.junit.Before;  
  8. import org.junit.BeforeClass;  
  9. import org.junit.Ignore;  
  10. import org.junit.Test;  
  11.   
  12. public class TestJava {  
  13.   
  14.     @Test  
  15.     public void testMain() {  
  16.         fail("Not yet implemented");  
  17.     }  
  18.   
  19.     @Test  
  20.     public void testTest() {  
  21.         System.out.println("@Test");//调用自己要测试的方法  
  22.     }  
  23.       
  24.     @Test  
  25.     public void testAssert() {  
  26.         assertEquals("chenleixing","chenlei");  
  27.     }  
  28.       
  29.     @Test(timeout=1)  
  30.     public void testTimeout() {  
  31.         System.out.println("超时测试");  
  32.     }  
  33.   
  34.     @Before  
  35.     public void testBefore(){  
  36.         System.out.println("@Before");  
  37.     }  
  38.       
  39.     @BeforeClass  
  40.     public static void testBeforeClass(){//必须为静态方法  
  41.         System.out.println("@BeforeClass");  
  42.     }  
  43.       
  44.     @After  
  45.     public void testAfter(){  
  46.         System.out.println("@After");  
  47.     }  
  48.       
  49.     @AfterClass  
  50.     public static void testAfterClass(){//必须为静态方法  
  51.         System.out.println("@AfterClass");  
  52.     }  
  53.       
  54.     @Ignore  
  55.     public void testIgnore(){  
  56.         System.out.println("@Ignore");  
  57.     }  
  58. }  


JUnit4注解解释

1. @Test : 测试方法,测试程序会运行的方法,后边可以跟参数代表不同的测试,如(expected=XXException.class) 异常测试,(timeout=xxx)超时测试
2. @Ignore : 被忽略的测试方法
3. @Before: 每一个测试方法之前运行
4. @After : 每一个测试方法之后运行
5. @BeforeClass: 所有测试开始之前运行
6. @AfterClass: 所有测试结束之后运行
fail方法是指测试失败

assertEquals测试2个参数是否相等,具体参考相应API

更多方法可参考相应API文档(博文末尾分享下载连接给大家)

运行测试用例

       把自己的测试代码写在@Test注解后者其他注解的方法里边,点击运行新建的测试用例,结果如下:

JUnit4使用教程-快速入门

 

带差号的是说明测试失败的,testMain()和testAssert()肯定会失败,对号的是测试成功的。

控制台输出的结果如下:

[java] view plain copy
  1. <span style="font-size:18px;">@BeforeClass  
  2. @Before  
  3. 超时测试  
  4. @After  
  5. @Before  
  6. @After  
  7. @Before  
  8. @Test  
  9. @After  
  10. @Before  
  11. @After  
  12. @AfterClass</span>  

免费下载jar包和文档

junit-4.12.jar下载

hamcrest-library-1.3.rc2.jar下载

hamcrest-core-1.3.rc2.jar下载

junit4API.chm.html下载