TestNG中的运行时测试实例工厂详解
来源:互联网 发布:mac chili色号 编辑:程序博客网 时间:2024/05/16 03:21
在前面的文章中,我们介绍了@Parameters标注,可以在运行时为测试方法设置参数。但是,对于一个测试类,只是因为测试方法的参数不同,就不得不在testng.xml中定义大量雷同的测试用例,这样的做法将很快导致测试规划的冗长,难以维护。
为此,TestNG还提供了测试实例的工厂机制,用到了@Factory标注。在这种工厂机制中,工厂类定义了一个使用@Factory标注声明的方法,该方法必须返回一个Object[]类型的数组,数组元素就是运行时生成的测试类的实例。这些测试类的实例往往采用不同的参数构造,因而可以执行不同的测试用例。
1.定义测试类
public class WebTest { private int m_numberOfTimes; public WebTest(int numberOfTimes) { m_numberOfTimes = numberOfTimes; } @Test public void testServer() { for (int i = 0; i < m_numberOfTimes; i++) { // access the web page } }该测试类的构造带参数。
2.定义测试实例的工厂类
public class WebTestFactory { @Factory public Object[] createInstances() { Object[] result = new Object[10]; for (int i = 0; i < 10; i++) { result[i] = new WebTest(i * 10);//动态参数的测试实例 } return result; }}只有一个创建测试实例的方法,由@Factory标注声明。
3.在testng.xml配置文件中使用测试工厂类
<class name="WebTestFactory" />
补充,作为构造测试实例的参数,还可以使用@DataProvider,示例如下:
public class FactoryDataProviderFactory {@Factory(dataProvider = "dp")public Object[] FactoryDataProviderSampleTest(int n) { ...} @DataProvider(name = "dp")public static Object[][] dp() { return new Object[][] { new Object[] { 41 }, new Object[] { 42 }, };}}
1 0
- TestNG中的运行时测试实例工厂详解
- TestNG运行JUnit测试
- TestNG运行JUnit测试
- TestNG运行JUnit测试
- TestNG+Ant自动运行测试
- TestNG+Ant自动运行测试
- TestNG+Ant自动运行测试
- TestNG 6 运行JUnit测试
- TestNG 四 测试方法之工厂
- TestNG·四 测试方法之工厂
- testng测试方法中的问题
- TestNG 学习总结 - TestNG运行JUnit测试(十三)
- 自动化测试框架selenium+java+TestNG——TestNG详解
- TestNG运行时参数说明
- TestNG 五 运行TestNG
- TestNG测试的并发执行详解
- TestNG在接口测试中的应用
- 软件测试实习0627-testNG运行JUnit测试
- URAL 1826 贪心经典题型
- HDU 5800 To My Girlfriend(计数DP)
- android 获取系统的时间
- os x2
- MarkdownPad 2 安装和破解
- TestNG中的运行时测试实例工厂详解
- TestNG测试的并发执行详解
- poj 2965 The Pilots Brothers' refrigerator
- 基于NX的研发产品设计管理平台实现(四)--物料编码的录入及管理1
- POJ3435 Sudoku Checker
- 180.User SCOTT wants to perform a bulk insert operation in the EMP_DEP table. SCOTT receives the fol
- git仓库整理实战
- poj——3320Jessica's Reading Problem(尺取法 求最小看书页数)
- Linux下查看进程占用内存的最好方式