TestNG - 基本注解 - Parameters
-
简述
@Parameters 描述了如何将参数传递给 @Test 方法。我们可以通过两种方式为测试方法提供参数值:-
通过 testng XML 配置文件
-
通过数据提供者
以下是@Listeners 注解支持的属性列表:属性 描述 value用于填充此方法参数的变量列表。@Parameters 注释可以放置在以下位置:-
在任何已经有 @Test、@Before/After 或 @Factory 注释的方法上。
-
在测试类的最多一个构造函数上。每当需要实例化您的测试类时,TestNG 将使用初始化为 testng.xml 中指定值的参数调用此特定构造函数。此功能可用于将类中的字段初始化为随后将被测试方法使用的值。
-
-
创建测试用例类
让我们看看如何使用@Parameters注解-
创建一个 java 测试类,比如说, TestAnnotationParameter.java 在 /work/testng/src.
-
将测试方法 testparameter() 添加到您的测试类。
-
向方法 testparameter() 添加注解 @Test。指定Java 方法的参数firstName应接收名为first-name的 XML 参数的值。此 XML 参数在 testng.xml 中定义
以下是TestAnnotationParameter.java 的内容。import org.testng.annotations.Test; import org.testng.annotations.Parameters; public class TestAnnotationParameter { @Parameters({ "first-name" }) @Test public void testparameter(String firstName) { System.out.println("Invoked method testparameter with string " + firstName); } }
-
-
创建 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"> <parameter name="first-name" value="CAINIAOYA"/> <test thread-count="5" name="Test"> <classes> <class name="TestAnnotationParameter"/> </classes> </test> <!-- Test --> </suite> <!-- Suite -->
使用 javac 编译测试用例。/work/testng/src$ javac TestAnnotationParameter.java
现在,运行 testng.xml,它将运行 <test> 标记中定义的测试用例。/work/testng/src$ java org.testng.TestNG testng.xml
验证输出。Invoked method testparameter with string CAINIAOYA =============================================== Suite Total tests run: 1, Passes: 1, Failures: 0, Skips: 0 ===============================================