现在位置:首页 > Java技术 > TestNG > TestNG自定义日志记录

TestNG自定义日志记录

来源:原创文章    由 极客书 更新版本    浏览:人次

我们此前读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

创建一个文件 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的将调用所有侦听器连接到测试套件。

当我们需要看到的连续状态的测试执行,测试时得到执行,主要用于记录监听器。


本站文章除注明转载外,均为本站原创或编译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,传播学习在线教程;
转载请注明:文章转载自:极客书 [http://www.gitbook.net]
本文标题:TestNG自定义日志记录
转载请保留原文链接:http://www.gitbook.net/html/testng/2013/0916306.html
上一篇:TestNG测试结果报告      下一篇:TestNG自定义记录器