自定义@Annotation以在运行时报告布尔值

时间:2015-07-10 06:54:38

标签: java testng junit4

我正在四处搜寻,看是否可以通过注释完成我想要完成的任务。

基本上,我们有一堆TestNG测试用例,我们进行微观管理

示例:

@Test
public void reportingTest(){
 Assert.true(false);
}

上面的内容会失败,但我们将所有内容都包含在一个断言try catch中。

@Test
public void reportingTest(){
 try {
    Assert.true(false);
    Report.batch(Enum.Pass, 106);
} catch (Throwable t) {
    Report.batch(Enum.Fail, 106, "Test case has failed");
    }
}

然而,在经过数百次测试之后......尝试捕捉是非常麻烦的。

我正在努力完成这样的事情

@Reporting(id=106)
@Test
  public void reportingTest(){
     Assert.true(false);
 }

在注释内部,我可以捕获失败的断言并根据我的id发送注销。

谢谢!

1 个答案:

答案 0 :(得分:2)

TestNG提供listeners,您正在寻找的可能是TestListener

您的注释将在那里提供:tr.getMethod().getConstructorOrMethod().getMethod().getAnnotation(Reporting.class)