Andor参数化测试框架改造

发表于:2012-7-26 10:55

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:zhuoxue.yll    来源:TaoBao QA Team

  1、Junit参数化测试

  作为测试人员,您是否遇到过这样的测试场景?需要测试的方法都是大同小异:代码结构都是相同的,不同的仅仅是测试数据和期望值。为了解决这个问题,您可以采用juint参数化测试。

  如:需要测试的方法:

public int add(int a,int b){

return a+b;

}

  测试代码

@RunWith(Parameterized.class) //参数化测试的类必须有Parameterized测试运行器修饰

public class AddTest3 { 

   private int input1; 

   private int input2; 

   private int expected;

   /**

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

        1)该方法必须由Parameters注解修饰

        2)该方法必须为public static

        3)该方法必须返回Collection类型

        4)该方法的名字不做要求

        5)该方法没有参数

    * @return

    */ 

   @Parameters 

   @SuppressWarnings("unchecked") 

   public static Collection prepareData(){ 

       Object [][] object = {{-1,-2,-3},{0,2,2},{-1,1,0},{1,2,3}}; 

       return Arrays.asList(object); 

   } 

     

   public AddTest3(int input1,int input2,int expected){ 

       this.input1 = input1; 

       this.input2 = input2; 

       this.expected = expected; 

} 

 

   @Test 

   public void testAdd(){ 

       Add add = new Add(); 

       int result = add.add(input1, input2); 

       Assert.assertEquals(expected,result); 

   } 

     

}

  测试结果:testAdd测试用例对应准备数据分别被运行了四次,如图:

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号