【测试报告】-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的将调用所有侦听器连接到测试套件。

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

时间: 2024-08-29 08:26:23

【测试报告】-TestNG自定义日志记录的相关文章

ASP.NET Core 3中的自定义日志记录

根据我的经验,通常在API中记录请求和响应.这样做可以帮助开发人员调试问题并提供有价值的性能指标.在本教程中,我将介绍如何为ASP.NET Core 3 Web API创建基本的日志记录解决方案.在这篇文章的结尾,我们将有一个有效的日志记录解决方案,它将记录每个请求以及对控制台和文件系统的响应,并且日志将包括API处理每个请求所花费的时间.以下是概述: 1. 先决条件2. 创建RequestLog和ResponseLog模型3. 创建ILogForWebAPI4. 创建WebAPIConsole

shell脚本中自定义日志记录到文件

自定义日志函数和前期变量 # adirname - return absolute dirname of given file adirname() { odir=`pwd`; cd `dirname $1`; pwd; cd "${odir}"; } MYNAM=`basename "$0"` MYDIR=`adirname "$0"` MYHOME="/home/shell/script" MYLOG_PATH="

IIS 7完全攻略之日志记录配置(摘自网络)

IIS 7完全攻略之日志记录配置 作者:泉之源 [IT168 专稿]除了 Windows 提供的日志记录功能外,IIS 7.0 还可以提供其他日志记录功能.例如,可以选择日志文件格式并指定要记录的请求. (一)启用或禁用日志记录 如果希望 IIS 基于配置的条件有选择地记录特定的服务器请求,就应为服务器启用日志记录.一旦启用了服务器日志记录,就可以为服务器上的任意站点启用选择性日志记录.然后,还可以查看日志文件,以了解失败和成功的请求. 如果不再希望 IIS 有选择地记录对某个站点的请求,则应为

如何自行给指定的SAP OData服务添加自定义日志记录功能

有的时候,SAP标准的OData实现或者相关的工具没有提供我们想记录的日志功能,此时可以利用SAP系统强大的扩展特性,进行自定义日志功能的二次开发. 以SAP CRM Fiori应用"My Opportunity"为例:我们首先在其OData服务CRM_OPPORTUNITY的实现类CL_CRM_OPPORTUNITY_IMPL的构造函数方法CONSTRUCTOR里设置一个值为GET_BADI的动态断点,这样调试模式下,ABAP调试器会自动停在所有出现了GET BADI关键字调用的地方

ASP.NET全局错误处理和异常日志记录以及IIS配置自定义错误页面

应用场景和使用目的 很多时候,我们在访问页面的时候,由于程序异常.系统崩溃会导致出现黄页.在通常的情况下,黄页对于我们来说,帮助是极大的,因为它可以帮助我们知道问题根源,甚至是哪一行代码出现了错误.但这对于用户是非常可怕的,因为用户不知道发生了什么,也无法了解黄页给出的内容.甚至,如果我们遇到一些不友好的人,他们会拿这些内容大做文章,对我们网站产生威胁. 那我们如何在程序异常.系统崩溃时,不会出现黄页,并且还可以给出一些更加友好的提示呢?甚至在我们需要的时候,可以收集这些异常信息,并加以分析,能

自定义注解实现AOP日志记录

自定义注解 package com.annotation; import java.lang.annotation.*; /** *自定义注解 拦截Controller */ @Target({ElementType.PARAMETER, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface SystemLog { String module() default ""

自定义错误日志记录类

引言 这是一个简单的自定义的错误日志记录类,这里我主要用于API接口开发中,APP移动端的入参记录 日志参数 /// <summary> /// 日志参数 /// </summary> public static class LogReq { /// <summary> /// 入参 /// </summary> public static string LogReqStr = ""; /// <summary> /// 加密

HAproxy增加日志记录功能和自定义日志输出内容、格式

一.增加haproxy日志记录功能 1.1 由于数据分析的需要,我们必须打开haproxy日志,记录相关信息. 在配置前,我们先来了解一下日志的level:local0-local7 16-23保留为本地使用 emerg 0 系统不可用     alert 1 必须马上采取行动的事件     crit 2 关键的事件     err 3 错误事件     warning 4 警告事件     notice 5 普通但重要的事件     info 6 有用的信息     debug 7 调试信息

用户操作拦截并作日志记录--自定义注解+AOP拦截

作为运营除了处理系统生产问题,还要处理大量的用户上报事件,这部分工作占用了大量的人力.所有考虑把一部分事件查询处理做成一个自助平台,让用户自行核查处理.于是就有了用户自助系统.考虑到如何计量这个工具平台具体的实现价值,需要做用户操作统计才能给出可信服的数据. 以上就是本文的背景.自助系统的架构就是传统的springmvc+spinrg+mybatis+oracle.想到日志记录首先想到的就是AOP拦截处理.网上相关的技术贴很多.简单的小项目遇到的问题一般度娘都能给解决了~\(≧▽≦)/~ 自定义