JUnit4中参数化测试


JUnit4中参数化测试要点: 

1. 测试类必须由Parameterized测试运行器修饰 

2. 准备数据。数据的准备需要在一个方法中进行,该方法需要满足一定的要求: 

1)该方法必须由Parameters注解修饰 
2)该方法必须为public static的 
3)该方法必须返回Collection类型 
4)该方法的名字不做要求 
5)该方法没有参数 

如: 
测试方法: 
Java代码   收藏代码
  1. public int add(int a,int b){  
  2.         return a+b;  
  3.     }  


测试代码: 
Java代码   收藏代码
  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. }  

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值