TestNG - 基本注解 - Test
-
简述
@Test 注释将类或方法标记为测试的一部分。以下是@Test 注解支持的属性列表:属性 描述 alwaysRun如果设置为 true,则此测试方法将始终运行,即使它依赖于失败的方法。dataProvider此测试方法的数据提供者的名称。dataProviderClass在哪里寻找数据提供者的类。如果未指定,数据提供者将在当前测试方法的类或其基类之一上查找。如果指定了此属性,则数据提供程序方法需要在指定的类上是静态的。dependsOnGroups此方法所依赖的组列表。dependsOnMethods此方法所依赖的方法列表。description此方法的说明。enabled是否启用此类/方法上的方法。expectedExceptions测试方法预期抛出的异常列表。如果没有抛出异常或与此列表中的异常不同,则此测试将被标记为失败。groups这个类/方法所属的组列表。invocationCount应调用此方法的次数。invocationTimeOut对于所有调用计数的累计时间,此测试应花费的最大毫秒数。如果未指定 invocationCount,则该属性将被忽略。priority此测试方法的优先级。将首先安排较低的优先级。successPercentage此方法预期的成功百分比singleThreaded如果设置为 true,则此测试类上的所有方法都保证在同一线程中运行。此属性只能在类级别使用,如果在方法级别使用,它将被忽略。timeOut此测试应花费的最大毫秒数。threadPoolSize此方法的线程池大小。该方法将从 invocationCount 指定的多个线程中调用。 -
创建测试用例类
让我们看看如何使用@Test 注解。-
创建一个 java 测试类,比如说, SimpleTestClass.java 在 /work/testng/src.
-
将测试方法 sum() 添加到您的测试类。
-
向方法 sum() 添加注解@Test。
以下是SimpleTestClass.java 的内容。import org.testng.annotations.Test; public class SimpleTestClass { @Test public void sum() { int sum=0; int a=15; int b=27; sum=a+b; System.out.println("sum="+sum); } }
-
-
创建 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="SimpleTestClass"/> </classes> </test> <!-- Test --> </suite> <!-- Suite -->
使用 javac 编译测试用例。/work/testng/src$ javac SimpleTestClass.java TestListener.java
现在,运行 testng.xml,它将运行 <test> 标记中定义的测试用例。/work/testng/src$ java org.testng.TestNG testng.xml
验证输出。sum=42 =============================================== Suite Total tests run: 1, Passes: 1, Failures: 0, Skips: 0 ===============================================