我们如何获得失败断言的方法的名称



有没有办法可以编程地获取在Junit Test案例中未能说明的方法的名称?即,如果@test失败,如果assert.asserttrue(className.methodname),我只能获取具有断言但无法获得失败断言的方法名称的@test方法的名称。我们有接近300个Junit测试,每个测试都有自己的@beforeclass,@before,@test, @after和@afterclass方法,并希望记录失败的断言的方法名称。

请看一下https://github.com/swfsm/junit-fail-logger。
这是一个注释处理器,在编译时间扫描方法中用org.junit.Test注释并包含包装使用试用捕获块的断言以记录失败的断言。
so

assertTrue(myMethod(""));

将转换为

try {
    assertTrue(myMethod());
} catch (AssertionError e) {
    System.err.println("assertTrue(myMethod())")
    throw(e);
}

调用记录的方法是可配置的,并且可以是任何静态方法接受String参数(参数值也可以配置)。

相关内容

  • 没有找到相关文章

最新更新