目录
但是如果我们在另一个类中放置另一个@AfterTest注释的方法呢?到时候会发生什么?
@AfterTest注释在测试标记类中的所有测试用例执行之后执行。下面的XML将说明@AfterTest注释方法的执行点。
<suite name="codekru">
<test name="codekru"> <!-- @BeforeTest will execute here -->
<classes>
<class name="Test.CodekruTestFirst" />
<class name="Test.CodekruTestSecond" />
</classes>
</test> <!-- @AfterTest will execute here -->
</suite>
那么,让我们看一个例子。我们将在XML文件中使用上面提到的两个类,我们可以在test标记中的任何类中保留@AfterTest注释方法。
CodekruTestFirst.java
package Test;
import org.testng.Assert;
import org.testng.annotations.AfterTest;
import org.testng.annotations.Test;
public class CodekruTestFirst {
@AfterTest
public void afterTest() {
System.out.println("after test method in CodekruTestFirst class");
}
@Test
public void test() {
System.out.println("Executing the test in CodekruTestFirst class");
Assert.assertTrue(true);
}
}
CodekruTestSecond.java
package Test;
import org.testng.Assert;
import org.testng.annotations.Test;
public class CodekruTestSecond {
@Test
public void test() {
System.out.println("Executing the test in CodekruTestSecond class");
Assert.assertTrue(true);
}
}
现在,运行下面的XML文件,让我们看看会发生什么
<suite name="codekru">
<test name="codekru"> <!-- @BeforeTest will execute here -->
<classes>
<class name="Test.CodekruTestFirst" />
<class name="Test.CodekruTestSecond" />
</classes>
</test> <!-- @AfterTest will execute here -->
</suite>
产出-
Executing the test in CodekruTestFirst class
Executing the test in CodekruTestSecond class
after test method in CodekruTestFirst class
===============================================
codekru
Total tests run: 2, Failures: 0, Skips: 0
在这里,我们可以看到@AfterTest注释在类中的所有测试用例之后运行。
但是如果我们在另一个类中放置另一个@AfterTest注释的方法呢?到时候会发生什么?
好吧,要知道这一点,我们必须尝试一下。让我们在CodekruTestSecond类中也有一个@AfterTest注释的方法。
import org.testng.Assert;
import org.testng.annotations.AfterTest;
import org.testng.annotations.Test;
public class CodekruTestSecond {
@AfterTest
public void afterTest() {
System.out.println("after test method in CodekruTestSecond class");
}
@Test
public void test() {
System.out.println("Executing the test in CodekruTestSecond class");
Assert.assertTrue(true);
}
}
现在让我们再次运行相同的XML文件
Executing the test in CodekruTestFirst class
Executing the test in CodekruTestSecond class
after test method in CodekruTestFirst class
after test method in CodekruTestSecond class
===============================================
codekru
Total tests run: 2, Failures: 0, Skips: 0