zoukankan      html  css  js  c++  java
  • Junit3和Junit4使用区别

    在项目经常会用到单元测试,这里对Junit在开发中的使用标准及使用方法进行简单的介绍。

    1.包目录的定义以及相关jar包的添加

    2.Junit3和Junit4分别对测试类的编写

    所测试的源代码:

    [java] view plain copy
     
     print?
    1. package com.techbirds;  
    2.    
    3.  public class HelloWorld {  
    4.       
    5.     public void sayHello(){  
    6.         System.out.println("hello....");  
    7.         throw new NumberFormatException();  
    8.     }  
    9.       
    10.     public void sayWorld(){  
    11.         System.out.println("world....");  
    12.     }  
    13.       
    14.     public String say(){  
    15.         return "hello world!";  
    16.     }  
    17.       
    18.  }  
    19.    

    Junit3测试类编写:

    [java] view plain copy
     
     print?
    1. package com.techbirds;  
    2.    
    3.  import junit.framework.TestCase;  
    4.    
    5.  public class HelloWorldTest extends TestCase{  
    6.     private HelloWorld hw;  
    7.       
    8.     @Override  
    9.     protected void setUp() throws Exception {  
    10.         super.setUp();  
    11.         hw=new HelloWorld();  
    12.     }  
    13.       
    14.     //1.测试没有返回值  
    15.     public void testHello(){  
    16.         try {  
    17.             hw.sayHello();  
    18.         } catch (Exception e) {  
    19.             System.out.println("发生异常.....");  
    20.         }  
    21.           
    22.     }  
    23.     public void testWorld(){  
    24.         hw.sayWorld();  
    25.     }  
    26.     //2.测试有返回值的方法  
    27.     // 返回字符串  
    28.     public void testSay(){  
    29.         assertEquals("测试失败", hw.say(), "hello world!");  
    30.     }  
    31.     //返回对象  
    32.     public void testObj(){  
    33.         assertNull("测试对象不为空", null);  
    34.         assertNotNull("测试对象为空",new String());  
    35.     }  
    36.     @Override  
    37.     protected void tearDown() throws Exception {  
    38.         super.tearDown();  
    39.         hw=null;  
    40.     }     
    41.  }  
    42.    

    Junit4测试类编写:

    [java] view plain copy
     
     print?
    1. package com.techbirds;  
    2.    
    3.  import org.junit.After;  
    4.  import org.junit.Before;  
    5.  import org.junit.Test;  
    6.    
    7.  //导入Assert类的静态方法-为了便于junit4->junit3的转换  
    8.  import static org.junit.Assert.*;  
    9.    
    10.  public class HelloWorldTest {  
    11.     private HelloWorld hw;  
    12.    
    13.     @Before  
    14.     public void setUp() {  
    15.         hw = new HelloWorld();  
    16.     }  
    17.    
    18.     @Test(expected=NumberFormatException.class)  
    19.     // 1.测试没有返回值,有别于junit3的使用,更加方便  
    20.     public void testHello() {  
    21.         hw.sayHello();  
    22.     }  
    23.     @Test  
    24.     public void testWorld() {  
    25.         hw.sayWorld();  
    26.     }  
    27.       
    28.     @Test  
    29.     // 2.测试有返回值的方法  
    30.     // 返回字符串  
    31.     public void testSay() {  
    32.         assertEquals("测试失败", hw.say(), "hello world!");  
    33.     }  
    34.       
    35.     @Test  
    36.     // 返回对象  
    37.     public void testObj() {  
    38.         assertNull("测试对象不为空", null);  
    39.         assertNotNull("测试对象为空", new String());  
    40.     }  
    41.    
    42.     @After  
    43.     public void tearDown() throws Exception {  
    44.         hw = null;  
    45.     }  
    46.    
    47.  }  
    48.    

    全部测试类运行:


  • 相关阅读:
    socket 网络编程
    错误与异常
    正则与计算器
    正则爬虫案例
    面向对象
    模块与包
    常用模块-----configparser & subprocess
    正则表达式&re模块
    常用模块---sys&logging&序列化模块(json&pickle)
    常用模块----time&random&hushlib&os
  • 原文地址:https://www.cnblogs.com/xiadongqing/p/6349882.html
Copyright © 2011-2022 走看看