2017-08-10 278 views
1

我在TestNG中使用了Allure2。我想写我自己的侦听器,在控制台输出中打印@Steps。allure2监听器输出控制台中的步骤

我看到了界面“StepLifecycleListener”的魅力,但我无法在TestNg中实现此侦听器。任何指针?

@Override 
public void beforeStepStart(final StepResult result) { 
    System.out.format("Starting step: %s", result.getName()); 

} 


@Override 
public void afterStepStop(final StepResult result) { 
    System.out.format("Completed step: %s", result.getName()); 

} 

回答

2

倾城2听众由SPI机制管理。因此,您需要执行以下几个步骤才能使其正常工作:

  • 执行StepLifecycleListener接口并覆盖所需的方法。
  • 在您的项目的resources根目录下创建META-INF/services文件夹。
  • 在上面的文件夹中用此界面的全名创建一个新文件。
  • 将实现类的完整路径添加到此文件中。

您可以在下面的项目找到一个例子:约SPI https://github.com/sskorol/allure2-testng-report/blob/master/src/test/resources/META-INF/services/io.qameta.allure.listener.StepLifecycleListener

更多信息:http://docs.oracle.com/javase/tutorial/sound/SPI-intro.html