allure2侦听器在控制台中输出步骤
我将Allure2与TestNG一起使用。我想编写我自己的侦听器,它在控制台输出中打印@step。
我在Traure中看到了接口"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());
}
解决方案
Allure 2监听器由spi机制管理。因此,您需要执行以下几个步骤才能使其正常工作:
- 实现
StepLifecycleListener
接口并重写必需的方法。 - 在项目的
resources
根目录中创建META-INF/services
文件夹。 - 在上面的文件夹中使用此接口的全名创建一个新文件。
- 将实现类的完整路径添加到此文件中。
您可以在以下项目中找到一个示例:https://github.com/sskorol/allure2-testng-report/blob/master/src/test/resources/META-INF/services/io.qameta.allure.listener.StepLifecycleListener
有关SPI的详细信息:http://docs.oracle.com/javase/tutorial/sound/SPI-intro.html
相关文章