TestNG之自定义日志记录

发表于:2017-8-04 16:55

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:漫步者    来源:博客

  此前读官方文档;了解到TestNg记录和报告提供了不同的选项。现在,让我们了解如何开始使用它们。首先,我们将编写一个示例程序,我们将使用的ITestListener接口,以便进行记录。尤其对一个进阶提升的测试开发人员来讲.了解日志记录和报告对我们有十分重要的意义:
  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
  1
  C:\TestNG_WORKSPACE>javac CustomListener.java SampleTest.java
  现在运行 testng.xml.
  1
  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的将调用所有侦听器连接到测试套件。
  当我们需要看到的连续状态的测试执行,测试时得到执行,主要用于记录监听器。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号