TestNG - 基本注解 - Factory
-
简述
@Factory 注解方法允许在运行时根据某些数据集或条件创建测试。该方法必须返回 Object[]。 -
创建测试用例类
-
创建一个 java 测试类,比如说, SimpleTestFactory.java.
-
将测试方法 testMethod() 添加到您的测试类。
-
向方法 testMethod() 添加注解@Test。
在其中创建一个名为 SimpleTestFactory.java 的 java 类文件 /work/testng/src.import org.testng.annotations.Test; public class SimpleTestFactory { @Test public void testMethod(){ System.out.println("Simple Test Method."); } }
-
-
创建工厂测试类
-
创建另一个 Java 类,例如, TestAnnotationFactory.java 在 /work/testng/src.
-
将工厂方法 factoryMethod() 添加到您的测试类。工厂方法必须返回一个 Object 类数组( Object [] )
-
向方法 factoryMethod() 添加注解@Factory。
以下是TestAnnotationFactory.java 的内容:import org.testng.annotations.Test; import org.testng.annotations.Factory; public class TestAnnotationFactory { @Factory public Object[] factoryMethod() { return new Object[]{ new SimpleTestFactory(), new SimpleTestFactory() }; } }
-
-
创建 testng.xml
接下来,让我们在其中创建 testng.xml 文件 /work/testng/src, 执行测试用例。此文件以 XML 格式捕获您的整个测试。该文件使您可以轻松地在一个文件中描述所有测试套件及其参数,您可以将其签入代码存储库或通过电子邮件发送给同事。它还可以轻松提取测试的子集或拆分多个运行时配置(例如,testngdatabase.xml 将仅运行测试您的数据库的测试)。<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd"> <suite name="Suite"> <test thread-count="5" name="Test"> <classes> <class name="TestAnnotationFactory"/> </classes> </test> <!-- Test --> </suite> <!-- Suite -->
使用 javac 编译测试用例。/work/testng/src$ javac SimpleTestFactory.java TestAnnotationFactory.java
现在,运行 testng.xml,它将运行 <test> 标记中定义的测试用例。如您所见,来自 SimpleTestFactory 类的测试方法被执行了两次。/work/testng/src$ java org.testng.TestNG testng.xml
验证输出。Simple Test Method. Simple Test Method. =============================================== Suite Total tests run: 2, Passes: 2, Failures: 0, Skips: 0 ===============================================