我们此前读TestNG的记录和报告提供了不同的选项。现在,让我们了解如何开始使用它们。首先,我们将编写一个示例程序,我们将使用的ITestListener接口,以便进行记录。
创建一个Java类为 SampleTest.java 在 C:\ > TestNG_WORKSPACE
import org.testng.Assert; import org.testng.annotations.Test; public class SampleTest { @Test public void testMethodOne(){ Assert.assertTrue(true); } @Test public void testMethodTwo(){ Assert.assertTrue(false); } @Test(dependsOnMethods={"testMethodTwo"}) public void testMethodThree(){ Assert.assertTrue(true); } }
前面的测试类包含三种测试方法,其中testMethodOne andtestMethodThree将通过执行时,,而testMethodTwo是通过一个falseBoolean值断言失败。 assertTrue方法,该方法用于在测试中的真值条件。
创建另一个新的类名为 CustomListener.java 在 C:\ > TestNG_WORKSPACE
import org.testng.ITestResult; import org.testng.TestListenerAdapter; public class CustomListener extends TestListenerAdapter{ private int m_count = 0; @Override public void onTestFailure(ITestResult tr) { log(tr.getName()+ "--Test method failed\n"); } @Override public void onTestSkipped(ITestResult tr) { log(tr.getName()+ "--Test method skipped\n"); } @Override public void onTestSuccess(ITestResult tr) { log(tr.getName()+ "--Test method success\n"); } private void log(String string) { System.out.print(string); if (++m_count % 40 == 0) { System.out.println(""); } } }
上述的类扩展TestListenerAdapter,空方法实现ITestListener。因此,不需要重写其他方法从接口。如果你喜欢,可以直接实现这个接口。
创建一个文件 testng.xml C:\ > TestNG_WORKSPACE 来执行测试用例
<?xml version="1.0" encoding="UTF-8"?> <suite name="Simple Logger Suite"> <listeners> <listener class-name="CustomListener" /> </listeners> <test name="Simple Logger test"> <classes> <class name="SampleTest" /> </classes> </test> </suite>
编译SampleTest,CustomListener类使用javac
C:\TestNG_WORKSPACE>javac CustomListener.java SampleTest.java
现在运行 testng.xml.
C:\TestNG_WORKSPACE>java -cp "C:\TestNG_WORKSPACE" org.testng.TestNG testng.xml
验证输出
testMethodOne--Test method success testMethodTwo--Test method failed testMethodThree--Test method skipped =============================================== Simple Logger Suite Total tests run: 3, Failures: 1, Skips: 1 ===============================================
我们创建了一个自定义logger类,其中实现ITestListener接口和依附于作为监听器的TestNG测试套件。 TestNG的测试开始时,测试失败,在测试成功,所以这个监听器类的方法调用。可以实现多个听众,并将其添加到测试套件执行,TestNG的将调用所有侦听器连接到测试套件。
当我们需要看到的连续状态的测试执行,测试时得到执行,主要用于记录监听器。