JUnit参数化测试的五步骤:
step :1 准备使用参数化测试的测试类指定特殊的运行器 org.junit.runners.Parameterized。
step :2 测试类声明几个变量,分别用于存放期望值和测试所用数据。
step :3 测试类声明一个带有参数的公共构造函数,并在其中为第二个环节中声明的几个变量赋值。
step :4 测试类声明一个使用注解 org.junit.runners.Parameterized.Parameters 修饰的,返回值为
java.util.Collection 的公共静态方法,并在此方法中初始化所有需要测试的参数对。
step :5 编写测试方法,使用定义的变量作为参数进行测试。
package springMybatis.test; import java.util.Arrays; import java.util.Collection; import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; import springMybatis.service.IUserService; import springMybatis.util.FactoryManager; import springMybatis.vo.User; //(1)步骤一:测试类指定特殊的运行器org.junit.runners.Parameterized @RunWith(Parameterized.class) public class TestSpringMybatis { private static IUserService userService = null; @BeforeClass public static void setUp() { FactoryManager.init("conf/beans/beans-springMybatis.xml"); userService = (IUserService) FactoryManager.getBean("userService"); } // (2)步骤二:为测试类声明几个变量,分别用于存放期望值和测试所用数据。此处我只放了测试所有数据,没放期望值。 private int idParam; private String usernameParam; // (3)步骤三:为测试类声明一个带有参数的公共构造函数,并在其中为第二个环节中声明的几个变量赋值。 public TestSpringMybatis(int id, String username) { this.idParam = id; this.usernameParam = username; } // (4)步骤四:为测试类声明一个使用注解 org.junit.runners.Parameterized.Parameters 修饰的,返回值为 // java.util.Collection 的公共静态方法,并在此方法中初始化所有需要测试的参数对。 @Parameters public static Collection usernameData() { return Arrays.asList(new Object[][] { { 1, "jacky" }, { 2, "andy" }, { 3, "tomcat" }, }); } // (5)步骤五:编写测试方法,使用定义的变量作为参数进行测试。 @Test public void testFindByName() { System.out.println("-------------"); User user2 = userService.findByName(usernameParam); System.out.println(user2); } // (5)步骤五:编写测试方法,使用定义的变量作为参数进行测试。 @Test public void testFindById() { System.out.println("************"); User user1 = userService.findById(idParam); System.out.println(user1); } }
原文:http://blog.csdn.net/seven_3306/article/details/8069948
相关推荐
### JUnit参数化测试的使用方法 #### 一、引言 JUnit是Java开发中最常用的单元测试框架之一,它提供了一种简单的方式来编写可重复执行的测试案例。随着软件复杂度的增加,对于某些功能模块可能需要多次使用不同的...
而Junit参数化测试是JUnit框架的一个强大特性,允许我们使用不同的输入数据多次执行同一个测试用例,这对于验证方法在各种边界条件或输入组合下的行为非常有用。下面我们将详细探讨Junit参数化测试的概念、使用方法...
《FizzBuzz问题与Gradle、Java及JUnit参数化测试的深度解析》 FizzBuzz问题,一个常见的编程面试题目,旨在检验开发者的编程基础和逻辑思维能力。在这个项目中,我们利用Gradle作为构建工具,Java作为编程语言,...
此外,JUnit4还支持如@Before和@After这样的生命周期方法,可以在每次测试前后进行必要的初始化和清理工作。 总结来说,这个实验通过JUnit4结合黑盒测试的等价类划分和边界值分析,以及白盒测试的路径覆盖,全面地...
JUnitParams 是一个 JUnit 扩展,它极大地改善了在 JUnit 测试中处理参数化测试的方式。在标准 JUnit 中,参数化测试通常需要编写复杂的 @Parameters 方法,这可能导致代码变得难以理解和维护。JUnitParams 的引入...
1. **创建参数化测试类**:首先,我们需要创建一个测试类,并使用`@RunWith(Parameterized.class)`注解,声明这是一个参数化的测试类。 2. **定义公共静态方法来提供参数**:这个方法应该返回一个`Collection`对象,...
JUnit支持注解、参数化测试、异常测试等特性,使得编写和执行单元测试变得更加简单。 4. **自动化测试**:自动化测试是指通过软件工具自动执行预先编写的测试脚本来检查程序功能是否正确的一种方法。相比手动测试,...
为了更好地组织测试,可以使用`@RunWith`注解配合测试运行器(如`Parameterized`或`Suite`),实现参数化测试和组合测试。参数化测试允许为同一个测试方法提供多组输入数据,而`Suite`则能将多个测试类组合成一个...
JUnit参数化测试是一种高效的方法,尤其适用于需要对多种输入数据进行相同逻辑验证的场景。它允许测试用例根据预定义的数据集动态生成,这样就可以在单个测试方法中执行多次,而无需为每组输入创建单独的测试方法。...
除此之外,JUnit4还支持参数化测试,通过`@Parameters`注解和`parameters()`方法可以为测试方法提供多组输入数据,实现对同一函数的多次测试。这对于测试具有多种输入情况的函数非常有用。 异常测试也是JUnit4的一...
以上代码展示了如何使用JUnit 4.5进行参数化测试,测试`Calculator`类的`add`方法。 ### 总结 JUnit 4.5作为Java单元测试的重要工具,通过注解、参数化测试等特性极大地简化了测试编写,提高了测试效率。理解并熟练...
除了基础功能外,Junit还支持参数化测试、假设测试、定时器等高级特性,以满足不同测试需求。参数化测试允许对同一测试用例使用不同的输入数据,而假设测试允许在不满足特定条件时跳过测试。定时器则可以设置测试...
此外,JUnit还提供了更高级的功能,如参数化测试(Parameterized Tests),允许使用不同的输入数据运行同一个测试方法;异常测试(Exception Testing),可以通过`@Test(expected = Exception.class)`来检查代码是否...
5. **参数化测试**:`@Parameterized`测试可以使用不同的参数多次运行同一个测试方法,这对于测试多种输入情况非常有用。 6. **超时测试**:`@Test(timeout = 1000)`可以设置测试方法的执行时间限制,超过设定时间...
8. **参数化测试**:Junit 4引入了参数化测试,允许你为同一个测试方法提供多组输入数据,测试方法将为每组数据执行一次。 9. **假对象和模拟**:在单元测试中,有时需要隔离被测试的代码,避免与外部系统的交互。...
JUnit 4.11引入了参数化测试,允许以不同的参数运行同一个测试,增强了测试的灵活性。 **DBUnit** 是一个用于数据库集成测试的工具,`dbunit-2.4.9.jar`是其2.4.9版本。DBUnit可以将数据库状态设置到已知的初始状态...
五、参数化测试 JUnit4的`@Parameters`注解可以用于创建参数化的测试,这意味着一个测试方法可以接受不同的输入参数并进行多次执行。 六、运行器与分类 - `@RunWith`注解:指定测试运行器,如`Parameterized.class`...
JUnit 4.12引入了一些关键特性,如注解驱动的测试、测试规则(Test Rules)、参数化测试和假设(Assumptions)。注解驱动使得测试代码更加简洁易读,而测试规则允许更精细地控制测试执行的环境和行为。参数化测试让...