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

标签 java unit-testing testng

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

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

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 将注入(inject)它:

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

关于java - 如何获取在 testng 拆卸方法中运行的测试方法的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2952202/

相关文章:

java - 即使在程序终止后,Maven TestNG 执行也会以幽灵模式运行

java - Selenium TestNG 依赖澄清设计

java - 如何正确关闭 javafx Alerts/fileChooser 等

java - 使用不带参数的 Junit 进行单元测试

angular - 想监视在 onInit 方法中初始化的方法

javascript - 在单元测试中观察 AngularJS 属性时,newValue 始终等于 oldValue

java - testNGCucumberRunner.provideFeatures 中的空指针异常

java - 如何识别哪个菜单项被禁用?

java - 绘制图像 SWT 的特定部分

java - Eclipse 控制台异常颜色