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

如何获得在testng拆卸方法中运行的测试方法的名称?

席银龙
2023-03-14
问题内容

基本上,我有一个拆卸方法,我想登录到刚刚运行测试的控制台。我将如何获取该字符串?

我可以获得类名,但是我想要刚刚执行的实际方法。

public class TestSomething {

    @AfterMethod
    public void tearDown() {
        System.out.println("The test that just ran was: " + getTestThatJustRanMethodName());
    }

    @Test
    public void testCase() {
       assertTrue(1 == 1);
    }
}

…应该输出到屏幕上:“刚运行的测试是:testCase”

但是,我不知道getTestThatJustRanMethodName实际上应该具有的魔力。


问题答案:

在@AfterMethod中声明一个ITestResult类型的参数,然后TestNG将其注入:

@AfterMethod
public void afterMethod(ITestResult result) {
  System.out.println("method name:" + result.getMethod().getMethodName());
}


 类似资料:
  • 这是驱动程序类,它将为每个测试方法创建驱动程序实例。

  • 问题内容: 我正在尝试使用testng并行运行自动化测试(Selenium webdriver)。这是我正在运行的节点: 这是我的测试课: } 这是我的xml: 当我运行XML时,我希望我的测试一次在两个线程中的两个浏览器上运行,但是,当我运行XML时,我使两个浏览器实例第一次运行,然后它们分别递增,并且50%测试失败了,您可以看到我正在尝试在每个方法中实例化驱动程序,尽管这不是我的框架如何工作,

  • 本文向大家介绍特定测试方法的执行如何依赖于TestNG中的其他测试方法?,包括了特定测试方法的执行如何依赖于TestNG中的其他测试方法?的使用技巧和注意事项,需要的朋友参考一下 可以在dependsOnMethods helper属性的帮助下,使特定测试方法的执行依赖于另一个测试方法。 示例 在Java类文件中,只有在该方法成功运行后,才会执行verifyLoan()方法。但是方法独立运行,而无

  • 考虑一个场景,我在测试一个索赔系统。我想提交报价并检查账单总额。一天两次或两次以上的索赔应该能为我赢得奖金。所以我需要在1次索赔后检查总金额,在2次索赔后再次检查,然后在删除一次索赔后再次检查,依此类推。执行如下- 登录 增加1项索赔 计算应收总额 增加1个索赔 计算应收总额 删除索赔 计算应收总额 注销 我的TestNG. xml看起来像这样- 如前所述,需要在同一测试中多次调用函数“fChec

  • 问题内容: 是否可以使用反射或其他魔术来获取方法的行号? 该方法可能在当前Stacktrace中。使用,可以获取一个的行号。但是,如果我只得到对象,该怎么办? 对于类->如何从java.lang.Class对象获取源文件名/行号,我发现了这一点,但是它对方法没有用。 问题答案: 在进行了一些研究之后,我想做同样的事情。您将需要添加javassist(我使用的是3.15.0-GA版本)。 给定以下类

  • 本文向大家介绍如何在TestNG中执行时忽略特定的测试方法?,包括了如何在TestNG中执行时忽略特定的测试方法?的使用技巧和注意事项,需要的朋友参考一下 为了从TestNG中执行中忽略特定的测试方法,请使用启用的helper属性。必须将此属性设置为false才能从执行中忽略测试方法。 示例 Java类文件。 在执行过程中,该方法将被忽略。