TestNG - 基本注解 - AfterTest
-
简述
@AfterTest 注释的方法将在当前类中的所有测试方法都运行后运行。以下是@AfterTest 注解支持的属性列表:属性 描述 alwaysRun对于 before 方法(AfterClass、beforeTest、beforeTestClass 和 beforeTestMethod,但不是 beforeGroups):如果设置为 true,则无论它属于哪个组,都会运行此配置方法。对于 after 方法(afterSuite、afterClass、...):如果设置为 true,则即使之前调用的一个或多个方法失败或被跳过,此配置方法也将运行。dependsOnGroups此方法所依赖的组列表。dependsOnMethods此方法所依赖的方法列表。enabled是否启用此类/方法上的方法。groups这个类/方法所属的组列表。inheritGroups如果为 true,则此方法将属于在类级别的 @Test 批注中指定的组。onlyForGroups仅适用于@BeforeMethod 和@AfterMethod。如果指定,则仅当相应的测试方法属于列出的组之一时才会调用此设置/拆卸方法。 -
创建一个类
创建一个要测试的java类,比如说, MessageUtil.java 在 /work/testng/src./* * This class prints the given message on console. */ public class MessageUtil { private String message; //Constructor //@param message to be printed public MessageUtil(String message) { this.message = message; } // prints the message public String printMessage() { System.out.println(message); return message; } }
-
创建测试用例类
-
创建一个 java 测试类,比如说, TestAnnotationAfterTest.java 在 /work/testng/src.
-
将测试方法 testMethod() 添加到您的测试类。
-
向方法 testMethod() 添加注解@Test。
-
在测试类中添加一个方法 AfterTest,注解 @AfterTest
-
实现测试条件并检查@AfterTest 注释的行为。
以下是TestAnnotationAfterTest.java 的内容:import org.testng.Assert; import org.testng.annotations.Test; import org.testng.annotations.AfterTest; public class TestAnnotationAfterTest { MessageUtil messageUtil = new MessageUtil("Test method"); @AfterTest public void AfterTest(){ System.out.println("After Test method"); } @Test public void testMethod(){ Assert.assertEquals("Test method", messageUtil.printMessage()); } }
-
-
创建 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="TestAnnotationAfterTest"/> </classes> </test> <!-- Test --> </suite> <!-- Suite -->
使用 javac 编译测试用例。/work/testng/src$ javac TestAnnotationAfterTest.java MessageUtil.java
现在,运行 testng.xml,它将运行 <test> 标记中定义的测试用例。如您所见,@AfterTest 在所有其他测试用例之前被调用。/work/testng/src$ java org.testng.TestNG testng.xml
验证输出。Test method After Test method =============================================== Suite Total tests run: 1, Passes: 1, Failures: 0, Skips: 0 ===============================================