TestNG 监听器不是 运行 如果它们是依赖的

TestNG Listeners not running if they are in dependency

我在项目 A 中定义了一组侦听器作为其源代码的一部分,包括对这些注释的测试。

当我将项目 A 用作项目 B 的项目依赖项时,即使我必须将它们包含在测试中,也根本不会调用注释 类 在使用它们时一切都会编译。

知道如何进行这项工作吗?

查看示例项目 here

TestNG 正在按设计工作。

您在ProjectA 中添加的侦听器是通过surefire 插件添加的。通过 surefire 插件添加的条目不会对下游项目(例如 ProjectB)产生任何影响。

如果需要,则需要在 ProjectB

中明确执行以下操作之一
  • 使用 <listeners> 标签(或)
  • 使用 ServiceLoader 方法。参考 here

PS:由于您的侦听器是 org.testng.IAnnotationTransformer 的实现,因此您不能使用 @Listeners 注释来连接此侦听器。