Junit测试实例1

来源:互联网 发布:淘宝添加客服怎么设置 编辑:程序博客网 时间:2024/05/17 06:45
Junit测试格言两则:
1)keep the bar green to keep the code clean!!!
2)单元测试不是证明您是对的,而是证明您没有错误!!!
 
被测试类代码
package com.zyg.test.junit3;
  1. /**
  2.  * 数学计算
  3.  * 
  4.  * @author zyg
  5.  * 
  6.  */
  7. public class Calculator {
  8.     public int add(int a, int b) {
  9.         return a + b;
  10.     }
  11.     public int minus(int a, int b) {
  12.         return a - b;
  13.     }
  14.     public int multiply(int a, int b) {
  15.         return a * b;
  16.     }
  17.     public int divide(int a, int b) throws Exception{
  18.         if(0 == b){
  19.             throw new Exception("除数不能为零!!");
  20.         }
  21.         return a / b;
  22.     }
  23. }
测试类代码
  1. package com.zyg.test.junit3;
  2. import junit.framework.Assert;
  3. import junit.framework.TestCase;
  4. /**
  5.  * junit3.8中测试类必须继承Test父类
  6.  * @author zyg
  7.  */
  8. public class CalculatorTest extends TestCase{
  9.     /**
  10.      * junit3.8中测试方法需要满足以下原则
  11.      * 1.public 
  12.      * 2.void
  13.      * 3.无方法参数
  14.      * 4.方法名称必须以test开头
  15.      */
  16.     public void testAdd(){
  17.         Calculator cal = new Calculator();
  18.         int result  = cal.add(12);
  19.         
  20.         //断言 
  21.         Assert.assertEquals(3,result);
  22.     }
  23.     
  24.     public void testMinus(){
  25.         Calculator cal = new Calculator();
  26.         int result = cal.minus(12);
  27.         Assert.assertEquals(-1, result);
  28.     }
  29.     
  30.     public void testMultiply(){
  31.         Calculator cal = new Calculator();
  32.         int result = cal.multiply(23);
  33.         
  34.         //断言 
  35.         Assert.assertEquals(6, result);
  36.     }
  37.     
  38.     public void testDivide(){
  39.         Calculator cal = new Calculator();
  40.         int result = 0;
  41.         try {
  42.             result = cal.divide(64);
  43.         } catch (Exception e) {
  44.             e.printStackTrace();
  45.             Assert.fail();
  46.         }
  47.         
  48.         //断言 
  49.         Assert.assertEquals(1,result);
  50.     }
  51.     
  52.     public void testDivide2(){
  53.         Throwable tx = null;
  54.         try{
  55.             Calculator cal = new Calculator();
  56.             cal.divide(40);
  57.             
  58.             Assert.fail();
  59.         }catch(Exception ex){
  60.             tx = ex;
  61.         }
  62.         System.out.println(tx.getMessage());
  63.         Assert.assertNotNull(tx);
  64.         Assert.assertEquals(Exception.class, tx.getClass());
  65.         Assert.assertEquals("除数不能为零!!",tx.getMessage());
  66.     }
  67. }
 
原创粉丝点击