`
flynewton
  • 浏览: 61846 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

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. }   

分享到:
评论

相关推荐

    Junit参数化测试源代码

    4. **Service测试类**:使用Junit参数化测试验证Service类的各个方法。 在Service测试类中,你可能会看到类似如上的参数化测试结构,测试数据可能是从数据库查询的结果、固定的数组或文件读取的数据。每个测试用例...

    junit参数化测试的使用方法

    ### JUnit参数化测试的使用方法 #### 一、引言 JUnit是Java开发中最常用的单元测试框架之一,它提供了一种简单的方式来编写可重复执行的测试案例。随着软件复杂度的增加,对于某些功能模块可能需要多次使用不同的...

    在Eclipse中使用JUnit4进行单元测试

    为了更好地组织测试,可以使用`@RunWith`注解配合测试运行器(如`Parameterized`或`Suite`),实现参数化测试和组合测试。参数化测试允许为同一个测试方法提供多组输入数据,而`Suite`则能将多个测试类组合成一个...

    eclipse下利用ant、junit进行自动化测试例子源码

    JUnit支持注解、参数化测试、异常测试等特性,使得编写和执行单元测试变得更加简单。 4. **自动化测试**:自动化测试是指通过软件工具自动执行预先编写的测试脚本来检查程序功能是否正确的一种方法。相比手动测试,...

    junit4测试jar包

    5. **参数化测试**:`@Parameterized`测试可以使用不同的参数多次运行同一个测试方法,这对于测试多种输入情况非常有用。 6. **超时测试**:`@Test(timeout = 1000)`可以设置测试方法的执行时间限制,超过设定时间...

    Junit4 basic concept

    JUnit4是JUnit框架的一个重要版本,相较于之前的版本,它引入了许多新特性,如注解(Annotations)、参数化测试等,这些特性极大地简化了测试代码的编写过程,提高了测试的灵活性和可读性。 #### 二、概念介绍 ###...

    JUnit多参数测试实例整合FizzBuzz

    1. **创建参数化测试类**:首先,我们需要创建一个测试类,并使用`@RunWith(Parameterized.class)`注解,声明这是一个参数化的测试类。 2. **定义公共静态方法来提供参数**:这个方法应该返回一个`Collection`对象,...

    junit4单元测试

    除此之外,JUnit4还支持参数化测试,通过`@Parameters`注解和`parameters()`方法可以为测试方法提供多组输入数据,实现对同一函数的多次测试。这对于测试具有多种输入情况的函数非常有用。 异常测试也是JUnit4的一...

    单元测试利器JUnit4

    JUnit4相较于早期版本引入了许多改进,如注解、参数化测试和测试套件等,使得测试代码更加简洁和灵活。 2. 注解(Annotations): JUnit4的核心特点是广泛使用注解,这使得测试类和方法的声明更清晰。例如: - `@...

    Spring+JUnit4 +Ant测试报告

    JUnit4还支持参数化测试、异常测试等多种测试场景,使得测试更加灵活和全面。 接下来,Ant是一个基于XML的构建工具,用于自动化Java项目中的编译、打包、测试等任务。在Spring和JUnit4的测试环境中,Ant通常被用来...

    junit4测试源码

    其次,JUnit4支持参数化测试,这意味着一个测试方法可以使用不同的参数多次执行。`@Parameters`注解用于提供参数数据,`@Parameterized.Parameters`方法返回一个包含参数的集合。 异常测试也是JUnit4的一个重要特性...

    Junit4测试总结

    ### 四、参数化测试 JUnit4的`@Parameters`注解和`Parameterized`测试类可以实现参数化的测试,即用不同的输入数据多次运行同一个测试。 ```java @RunWith(Parameterized.class) public class ParameterizedTest {...

    junit4 jar包 Java单元测试框架绿色免费版.zip

    在实际项目中,开发者通常会配合使用`@RunWith`注解来选择测试运行器(Test Runner),比如`@RunWith(Suite.class)`或`@RunWith(Parameterized.class)`,以实现更复杂的测试场景,如组合测试或参数化测试。...

    junit4单元测试实例

    五、参数化测试 JUnit4的`@Parameters`注解可以用于创建参数化的测试,这意味着一个测试方法可以接受不同的输入参数并进行多次执行。 六、运行器与分类 - `@RunWith`注解:指定测试运行器,如`Parameterized.class`...

    Junit4单元测试入门例子

    在实际项目中,可能还需要引入Mockito等工具对依赖进行模拟,以及使用持续集成工具进行自动化测试。 总结,Junit4使得Java的单元测试变得简单而直观。通过注解,我们可以快速定义测试方法,结合断言库进行结果验证...

    junit4测试工具

    其次,JUnit4支持参数化测试,允许使用不同的输入数据执行同一个测试方法。这通过`@Parameters`注解和相关的静态方法实现,可以大大提高测试覆盖率,确保代码对各种可能的输入都能正确处理。 再者,JUnit4引入了...

Global site tag (gtag.js) - Google Analytics