Junit参数化测试的使用方法
2012-10-14 16:21
441 查看
junit参数化测试的使用方法
JUnit参数化测试的五个步骤:
(1)为准备使用参数化测试的测试类指定特殊的运行器 org.junit.runners.Parameterized。(2)为测试类声明几个变量,分别用于存放期望值和测试所用数据。
(3)为测试类声明一个带有参数的公共构造函数,并在其中为第二个环节中声明的几个变量赋值。
(4)为测试类声明一个使用注解 org.junit.runners.Parameterized.Parameters 修饰的,返回值为 java.util.Collection 的公共静态方法,并在此方法中初始化所有需要测试的参数对。
(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); } }
输出结果:
-------------
User [userid=1, account=1, username=jacky, gender=male, birthday=Fri Oct 11 09:00:00 CST 1963, email=jacky@xxx.com, address=beijing, school=hongkongmusicshcol, company=bigstar, phone=13900000000, interest=movie]
************
User [userid=1, account=1, username=jacky, gender=male, birthday=Fri Oct 11 09:00:00 CST 1963, email=jacky@xxx.com, address=beijing, school=hongkongmusicshcol, company=bigstar, phone=13900000000, interest=movie]
-------------
User [userid=2, account=2, username=andy, gender=male, birthday=Sat Oct 08 12:00:00 CST 1960, email=andy@xxx.net, address=hongkong, school=hongkongdaxue, company=bigstar, phone=13987654321, interest=music]
************
User [userid=2, account=2, username=andy, gender=male, birthday=Sat Oct 08 12:00:00 CST 1960, email=andy@xxx.net, address=hongkong, school=hongkongdaxue, company=bigstar, phone=13987654321, interest=music]
-------------
User [userid=3, account=3, username=tomcat, gender=male, birthday=Fri Oct 01 14:00:00 CST 1965, email=tomcat@xxx.com, address=hongkong, school=hongkongdaxue, company=bigstar, phone=13912345678, interest=programing]
************
User [userid=3, account=3, username=tomcat, gender=male, birthday=Fri Oct 01 14:00:00 CST 1965, email=tomcat@xxx.com, address=hongkong, school=hongkongdaxue, company=bigstar, phone=13912345678, interest=programing]
JUnit目前的参数化测试只支持一个@Parameters 要是能支持多个就更给力了。不过作为单元测试工具,已经基本满足单元测试的要求了。
完整的项目源代码地址:http://download.csdn.net/detail/chenyechao/4646087
相关文章推荐
- Java单元测试工具:JUnit4——JUnit测试套件使用及参数化设置
- Java单元测试工具:JUnit4(四)——JUnit测试套件使用及参数化设置
- java单元测试工具:JUnit4(三)——测试套件的使用和参数化设置
- (四)JUnit测试套件使用及参数化设置
- 在IDEA中使用JUnit进行方法测试
- 使用 JUnit 进行容器内测试(常用的两种测试方法)
- 【drp 11】使用Junit简单测试接口方法
- Java单元测试工具:JUnit4(四)——JUnit测试套件使用及参数化设置
- 在IDEA中使用JUnit进行方法测试
- 【drp 11】使用Junit简单测试接口方法
- 基于JUnit和Ant测试程序正在运行使用Kieker(AspectJ)监测方法
- 使用Junit时,如果测试类继承了另一个类,会导致在Eclipse里无法单独测试一个方法。
- Java单元测试工具:JUnit4(四)——JUnit测试套件使用及参数化设置
- 记一个使用Junit测试中的问题:The import junit cannot be resolved解决方法
- Junit框架使用(2)--参数化测试
- 为什么使用Junit Test而不用普通java main方法来完成测试?
- 使用junit4下myeclipse环境下测试hibernate方法的心得
- 使用Junit 测试私有方法
- Java单元测试工具:JUnit4(四)——JUnit测试套件使用及参数化设置
- hibernat使用junit测试类测试hibernate的各种方法说明及注意要点