当前位置: 首页 > 知识库问答 >
问题:

试图了解TestNG如何连接要在报告中显示的方法名称描述

慕容修伟
2023-03-14

试图理解TestNG如何连接方法名组名描述以显示在报告上。我有一个测试套件,它只在我的TestNG报告中显示方法名,但我还有其他测试套件,它们在方法名之后连接测试描述,并在报告中显示整个字符串(在类名列之后的第二列下)。我想不出是什么控制了这种差异。

有人知道这是如何工作的,以及在套件中启用/禁用吗?在这个场景中,TestNG由Maven Surefire插件执行,如您所知,该插件将电子邮件报告放在“目标”目录下,而不是“testng-output”下。

另外,我想知道的另外一个细节是:在测试方法中描述可以被改变吗,这样改变后的描述可以显示在报告上?

这个屏幕截图显示了组和描述的良好显示,但是我有许多其他测试套件没有显示这个信息,我想知道如何启用它。

共有2个答案

逑何平
2023-03-14

对于您的第一个问题,旧版本的testng(6.8.1之前的版本)似乎使用emailable记录器作为其默认记录器。后来的版本将emailable记录器2作为其默认值,它不显示描述。尝试如下所示指定侦听器以查看针对方法的描述。

<listener class-name="org.testng.reporters.EmailableReporter"></listener>

可以通过实现 I 注释转换器来更改描述。

吴英武
2023-03-14

不确定 SureFire 生成的报告,但是如果您在没有 Maven 的情况下使用 TestNG,它会生成两个报告 - 电子邮件报告、索引。两者都显示相同的数据,但以不同的方式显示。我们可以通过创建侦听器并重写默认方法来自定义报告内容。

请参阅这篇文章,了解如何自定义报告。

 类似资料:
  • 我正在从事一个需要以编程方式调用TestNG(使用数据提供程序)的项目。情况很好,只是在报告中,我们得到了@测试方法的名称,这是一种处理许多情况的通用方法。我们希望在报告中得到一个有意义的名字。 我一直在研究这个问题,发现了三种方法,但不幸的是,所有方法都失败了。 1) 实施ITest 我在这里和这里都发现了这个 我一输入@Test方法就设置了我想要的名称(对于我尝试的所有3种方式,这就是我设置名

  • 在范围报告中,我想显示测试的名称而不是方法名称。所以我找到了一个解决方案,为@Test注释添加了一个test name属性 问题1:在报告中,我看到getTestName方法返回null。 问题2:我无法在报告的“测试”列下创建测试名称为的测试。这是一条可以做到这一点的线: 测试=范围。createTest(Thread.currentThread())。getStackTrace()1。getM

  • 在TestNG框架中,我们使用TestNG套件xml文件来定义测试,并调用mvn(with-dtestset=TestNG.xml)来执行它们。在xml文件的另一边,我们有带有name值的test标记,但是这个name值似乎没有出现在Allure报告的任何地方。有没有办法让它显示在Allure报告上(更喜欢和@Feature注释在同一个地方)?

  • 我有一个简单的测试套件(对这个例子来说非常简单)。我在构造函数上使用@Factory表示法和一个@DataProvider,它返回一个城市对象[][](多达100个),我运行我的测试。在这个例子中有3个@Test方法。如果我不将测试名称附加到城市名称,我将有一个超文本语言标记报告,它只会一遍又一遍地列出3个测试方法,无法区分它们。 我尝试过这样的例子:这里。 我的测试课做得很好。我遇到的问题是,当

  • 问题内容: 我想在碧玉报告中显示图像。我在.jrxml上具有以下内容: 图像logo.jpg与.jrxml位于同一目录中。只是说这对我不起作用。我在Google上搜索了一下,发现jasper报告将我放在.jrxml中的内容视为到JVM目录的相对路径,并且要更改此设置,我需要将返回文件的FileResolver作为“ REPORT_FILE_RESOLVER”参数传递。因此,我在.java中进行了以

  • 22.13.7.1.TestNG 的参数化方法和报告 TestNG支持参数化方法,允许一个特定的测试方法使用不同的输入被执行多次。Gradle会在测试报告中包含该方法的参数值. 给出一个叫aTestMethod的测试方法,该方法有两个参数,在测试报告中会根据名字报告:aTestMethod(toStringValueOfParam1, toStringValueOfParam2). 这很容易识别的