当前位置: 首页 > 面试题库 >

在TestNG上检索测试名称

谷梁楷
2023-03-14
问题内容

是否可以像使用JUnit一样(使用getName()或rules)检索当前正在运行的测试名称?

@Test
public void fooBar(){
     System.out.println(magic()); //should print "fooBar"
}

PS我不想使用基于堆栈跟踪的一些自写工具。


问题答案:

根据位于http://testng.org/doc/documentation-
main.html的
TestNG文档,
您可以实现可能有助于您解决问题的侦听器。

查看5.16节的TestNG侦听器,尤其是IInvokedMethodListener(javadoc:http
://testng.org/javadocs/org/testng/IInvokedMethodListener.html
)。您可以挂钩到beforeInvocation来获取方法名称,将其保留在某个地方,然后在测试中使用它。当然,您可以只在侦听器实现中使用这些详细信息。



 类似资料:
  • 问题内容: 如果测试失败,我想截图。与其将所有测试方法都包裹在try / catch块中,不如将这种逻辑添加到以标记的方法中。 如何在当前测试失败的注解方法中进行检测? 问题答案: 如果带有注释的方法具有参数,则TestNG将自动注入测试结果。(来源:TestNG文档,第5.18.1节) 这应该做的工作:

  • 问题内容: 我正在尝试从Jenkins运行TestNG测试(在一个包含的Java项目中),但是没有运气。 似乎Jenkins的TestNG插件(https://wiki.jenkins-ci.org/display/JENKINS/testng- plugin )仅发布TestNG测试的结果,但实际上不运行测试类…或我错了吗? 无论如何,我如何在Jenkins的TestNG项目中实际运行TestN

  • 我试图从Jenkins那里运行TestNG测试(在一个包含Java的项目中),但没有成功。 看起来好像是Jenkins的TestNG插件(https://wiki.jenkins-ci.org/display/JENKINS/testng-plugin)只发布TestNG测试的结果,但不实际运行测试类。。。还是我错了? 在任何情况下,我如何在与Jenkins的TestNG项目中实际运行TestNG

  • 问题内容: 尝试在事务之间测试Hibernate(版本4)EHCache的缓存功能时,它失败:。 测试 手动编程事务处理是通过Spring 4.x在文档中建议的方式实现的。 应用程序配置 缓存配置 错误 如何使其运作? 更新: 通过添加(不确定是否确实需要)来使其工作: 问题答案: 如果未明确指定,则@Transactional需要在应用程序上下文中使用名称为transactionManager的

  • 问题内容: 我正在尝试从Jenkins运行TestNG测试(在一个包含的Java项目中),但是没有运气。 似乎Jenkins的TestNG插件(https://wiki.jenkins-ci.org/display/JENKINS/testng- plugin )仅发布TestNG测试的结果,但实际上不运行测试类…或我错了吗? 无论如何,我该如何在Jenkins的TestNG项目中实际运行Test

  • 我有这个测试部分: 当我试图运行它作为一个套件我得到这个错误: 有人能告诉我什么是错误的,以及如何解决它吗? 谢谢