转自:http://ttitfly.iteye.com/blog/178496
JUnit4中参数化测试要点:
1. 测试类必须由Parameterized测试运行器修饰
2. 准备数据。数据的准备需要在一个方法中进行,该方法需要满足一定的要求:
1)该方法必须由Parameters注解修饰
2)该方法必须为public static的
3)该方法必须返回Collection类型
4)该方法的名字不做要求
5)该方法没有参数
如:
测试方法:
- public int add(int a,int b){
- return a+b;
- }
测试代码:
- package org.test;
-
- import java.util.Arrays;
- import java.util.Collection;
-
- import org.junit.Assert;
- import org.junit.Test;
- import org.junit.runner.RunWith;
- import org.junit.runners.Parameterized;
- import org.junit.runners.Parameterized.Parameters;
-
-
-
-
- @RunWith(Parameterized.class)
- public class AddTest3 {
-
- private int input1;
- private int input2;
- private int expected;
-
-
-
-
-
-
-
-
-
-
-
- @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);
- }
-
- }
分享到:
相关推荐
4. **Service测试类**:使用Junit参数化测试验证Service类的各个方法。 在Service测试类中,你可能会看到类似如上的参数化测试结构,测试数据可能是从数据库查询的结果、固定的数组或文件读取的数据。每个测试用例...
### JUnit参数化测试的使用方法 #### 一、引言 JUnit是Java开发中最常用的单元测试框架之一,它提供了一种简单的方式来编写可重复执行的测试案例。随着软件复杂度的增加,对于某些功能模块可能需要多次使用不同的...
为了更好地组织测试,可以使用`@RunWith`注解配合测试运行器(如`Parameterized`或`Suite`),实现参数化测试和组合测试。参数化测试允许为同一个测试方法提供多组输入数据,而`Suite`则能将多个测试类组合成一个...
JUnit支持注解、参数化测试、异常测试等特性,使得编写和执行单元测试变得更加简单。 4. **自动化测试**:自动化测试是指通过软件工具自动执行预先编写的测试脚本来检查程序功能是否正确的一种方法。相比手动测试,...
5. **参数化测试**:`@Parameterized`测试可以使用不同的参数多次运行同一个测试方法,这对于测试多种输入情况非常有用。 6. **超时测试**:`@Test(timeout = 1000)`可以设置测试方法的执行时间限制,超过设定时间...
JUnit4是JUnit框架的一个重要版本,相较于之前的版本,它引入了许多新特性,如注解(Annotations)、参数化测试等,这些特性极大地简化了测试代码的编写过程,提高了测试的灵活性和可读性。 #### 二、概念介绍 ###...
1. **创建参数化测试类**:首先,我们需要创建一个测试类,并使用`@RunWith(Parameterized.class)`注解,声明这是一个参数化的测试类。 2. **定义公共静态方法来提供参数**:这个方法应该返回一个`Collection`对象,...
除此之外,JUnit4还支持参数化测试,通过`@Parameters`注解和`parameters()`方法可以为测试方法提供多组输入数据,实现对同一函数的多次测试。这对于测试具有多种输入情况的函数非常有用。 异常测试也是JUnit4的一...
JUnit4相较于早期版本引入了许多改进,如注解、参数化测试和测试套件等,使得测试代码更加简洁和灵活。 2. 注解(Annotations): JUnit4的核心特点是广泛使用注解,这使得测试类和方法的声明更清晰。例如: - `@...
JUnit4还支持参数化测试、异常测试等多种测试场景,使得测试更加灵活和全面。 接下来,Ant是一个基于XML的构建工具,用于自动化Java项目中的编译、打包、测试等任务。在Spring和JUnit4的测试环境中,Ant通常被用来...
其次,JUnit4支持参数化测试,这意味着一个测试方法可以使用不同的参数多次执行。`@Parameters`注解用于提供参数数据,`@Parameterized.Parameters`方法返回一个包含参数的集合。 异常测试也是JUnit4的一个重要特性...
### 四、参数化测试 JUnit4的`@Parameters`注解和`Parameterized`测试类可以实现参数化的测试,即用不同的输入数据多次运行同一个测试。 ```java @RunWith(Parameterized.class) public class ParameterizedTest {...
在实际项目中,开发者通常会配合使用`@RunWith`注解来选择测试运行器(Test Runner),比如`@RunWith(Suite.class)`或`@RunWith(Parameterized.class)`,以实现更复杂的测试场景,如组合测试或参数化测试。...
五、参数化测试 JUnit4的`@Parameters`注解可以用于创建参数化的测试,这意味着一个测试方法可以接受不同的输入参数并进行多次执行。 六、运行器与分类 - `@RunWith`注解:指定测试运行器,如`Parameterized.class`...
在实际项目中,可能还需要引入Mockito等工具对依赖进行模拟,以及使用持续集成工具进行自动化测试。 总结,Junit4使得Java的单元测试变得简单而直观。通过注解,我们可以快速定义测试方法,结合断言库进行结果验证...
其次,JUnit4支持参数化测试,允许使用不同的输入数据执行同一个测试方法。这通过`@Parameters`注解和相关的静态方法实现,可以大大提高测试覆盖率,确保代码对各种可能的输入都能正确处理。 再者,JUnit4引入了...