如何在运行时获取JUnit 4中的测试用例名称? [复制]

2024-02-09

我想在执行 JUnit 测试时进行一些日志记录。在 JUnit 3.x 中,无论测试用例如何实例化,获取当前运行的测试用例的名称总是很容易:

public void testFoo() throws Exception() {
  String testName = this.getName();
  // [...] do some stuff
}

在 JUnit 4 中事情似乎没那么容易。有谁知道这个问题的解决方案吗?是否有任何选项可以反映到当前的 Runner 实例中?


在 JUnit 4.7 中,您还可以获得当前执行的测试方法的名称。登录时可能会很好。

摘自 JUnit 4.7 发行说明(阅读它们在github上 http://github.com/KentBeck/junit/raw/23ffc6baf5768057e366e183e53f4dfa86fbb005/doc/ReleaseNotes4.7.txt) :

public class NameRuleTest {
    @Rule public TestName name = new TestName();
    
    @Test public void testA() {
        assertEquals("testA", name.getMethodName());
    }
    
    @Test public void testB() {
        assertEquals("testB", name.getMethodName());
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在运行时获取JUnit 4中的测试用例名称? [复制] 的相关文章

随机推荐