JUnit 简明使用方法

 看看代码就懂了,里面有详细注释。

AddAndSub.Class

/**  
 * 我们通常的做法如下:  
 * 从这个测试方法可以看出,业务代码和测试代码放在一起,对于复杂的业务逻辑,一方面代码量会非常庞大,  
 * 另一方面测试代码会显得比较凌乱,而JUnit就能改变这样的状况,它提供了更好的方法来进行单元测试。  
 *  
 */  
public class AddAndSub {   
  
    public int add(int m, int n) {   
  
        int num = m + n;   
  
        return num;   
  
    }   
  
    public int sub(int m, int n) {   
  
        int num = m - n;   
  
        return num;   
  
    }   
  
    /**  
     * @param args  
     */  
    public static void main(String[] args) {   
        AddAndSub addAndsub = new AddAndSub();   
        if (addAndsub.add(4, 6) == 10) {   
  
            System.out.println("Test Ok");   
  
        } else {   
  
            System.out.println("Test Fail");   
  
        }   
  
        if (addAndsub.sub(6, 4) == 2) {   
  
            System.out.println("Test Ok");   
  
        } else {   
  
            System.out.println("Test Fail");   
  
        }   
  
    }   
}


 

 

TestAddAndSub.Class

import service.AddAndSub;   
import junit.framework.TestCase;   
  
/**  
 * 如果要使用JUnit,则测试类都必须继承TestCase。  
 * 当然目前的最新版JUnit是不需要继承它的,但并不是说TestCase类就没有用了,  
 * 它仍然是JUnit工作的基础。这里先讲述继承TestCase类的方式,稍后再介绍不继承的方式。  
 *  
 * JUnit的使用非常简单,共有3步:  
 * 第一步、编写测试类,使其继承TestCase;  
 * 第二步、编写测试方法,使用test+×××的方式来命名测试方法;  
 * 第三步、编写断言。如果测试方法有公用的变量等需要初始化和销毁,则可以使用setUp,tearDown方法。  
 */  
public class TestAddAndSub extends TestCase {   
      
    private AddAndSub addAndsub;   
      
    @Override  
    public void setUp()throws Exception{   
        addAndsub = new AddAndSub();   
        super.setUp();   
    }   
      
      
    @Override  
    protected void tearDown() throws Exception {   
        addAndsub = null;   
        super.tearDown();   
    }   
  
  
    public void testadd() {   
        // 断言计算结果与10是否相等   
        assertEquals(10, addAndsub.add(4, 6));   
    }   
  
    public void testsub() {   
        // 断言计算结果与2是否相等   
        assertEquals(2, addAndsub.sub(6, 4));   
    }   
  
    public static void main(String args[]) {   
        junit.textui.TestRunner.run(TestAddAndSub.class);   
    }   
  
}  


 

TestAddAndSubByAnnotation.Class

import org.junit.Test;   
  
import service.AddAndSub;   
import static org.junit.Assert.*;   
import org.junit.*;   
  
/**  
 *Java 5的发布为JUnit带来了新的特性。  
 *自JUnit 4.0之后,JUnit大量使用了annotations特性,使编写单元测试变得更加简单。  
 *(1)使用JUnit 4.0以上版本可以不用遵循以前JUnit约定的测试方法命名方法,直接使用注释@Test  
 *(2)以前,JUnit使用SetUp和TearDown方法来进行初始化和销毁动作,JUnit 4.0以上版本将不再强制使用SetUp和TearDown方法来进行初始化和销毁,  
 *原来使用SetUp和TearDown方法的,现在可以使用注释@Befor 和@After或者@BeforClass 和@AfterClass  
 *(3)新版本的JUnit将不再强制继承TestCase,但需要import static org.junit.Assert.*;来实现断言,示例代码如下:  
 */  
public class TestAddAndSubByAnnotation {   
  
    private AddAndSub addAndsub;   
  
    //@Befor 和  @After 是针对每个方法都执行的创建和销毁函数   
    //如果要针对一个类定义其创建和销毁函数,可以使用@BeforClass 和  @AfterClass   
    @Before  
    public void init() throws Exception {   
        addAndsub = new AddAndSub();   
    }   
  
    @After  
    protected void destory() throws Exception {   
        addAndsub = null;   
    }   
  
    @Test  
    public void add() {   
        assertEquals(10, addAndsub.add(4, 6));   
    }   
      
    @Test  
    public void sub(){   
        assertEquals(2, addAndsub.sub(6, 4));   
    }   
}  


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值