Junit4参数化测试

关键字:  junit , 参数化

转自:http://ttitfly.iteye.com/blog/178496

JUnit4中参数化测试要点: 
1. 测试类必须由Parameterized测试运行器修饰 
2. 准备数据。数据的准备需要在一个方法中进行,该方法需要满足一定的要求: 
    1)该方法必须由Parameters注解修饰 
    2)该方法必须为public static的 
    3)该方法必须返回Collection类型 
    4)该方法的名字不做要求 
    5)该方法没有参数 


如: 
测试方法: 

  1. public int add(int a,int b){  
  2.     return a+b;  
  3. }  

测试代码:

  1. package org.test;    
  2.     
  3. import java.util.Arrays;    
  4. import java.util.Collection;    
  5.     
  6. import org.junit.Assert;    
  7. import org.junit.Test;    
  8. import org.junit.runner.RunWith;    
  9. import org.junit.runners.Parameterized;    
  10. import org.junit.runners.Parameterized.Parameters;    
  11. /**  
  12.  * 参数化测试的类必须有Parameterized测试运行器修饰  
  13.  *  
  14.  */    
  15. @RunWith(Parameterized.class)    
  16. public class AddTest3 {    
  17.     
  18.     private int input1;    
  19.     private int input2;    
  20.     private int expected;    
  21.         
  22.     /**  
  23.      * 准备数据。数据的准备需要在一个方法中进行,该方法需要满足一定的要求:  
  24.   
  25.          1)该方法必须由Parameters注解修饰  
  26.          2)该方法必须为public static的  
  27.          3)该方法必须返回Collection类型  
  28.          4)该方法的名字不做要求  
  29.          5)该方法没有参数  
  30.      * @return  
  31.      */    
  32.     @Parameters    
  33.     @SuppressWarnings("unchecked")    
  34.     public static Collection prepareData(){    
  35.         Object [][] object = {{-1,-2,-3},{0,2,2},{-1,1,0},{1,2,3}};    
  36.         return Arrays.asList(object);    
  37.     }    
  38.         
  39.     public AddTest3(int input1,int input2,int expected){    
  40.         this.input1 = input1;    
  41.         this.input2 = input2;    
  42.         this.expected = expected;    
  43.     }    
  44.     @Test    
  45.     public void testAdd(){    
  46.         Add add = new Add();    
  47.         int result = add.add(input1, input2);    
  48.         Assert.assertEquals(expected,result);    
  49.     }    
  50.         
  51. }   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值