JUnit 5:可以在Maven Surefire插件中设置TestExecutionListener吗?

Twa*_*gas 2 java junit maven maven-surefire-plugin junit5

我想TestExecutionListener在测试运行完成后使用JUnit 5和界面进行一些清理.整个项目使用JUnit Jupiter,没有涉及Vintage.

在Maven Surefire中,它能够RunListener通过配置设置JUnit 4 来存档它.Surefire能够识别新的JUnit 5 TestExecutionListener吗?如果没有,有没有办法让JUnit 5测试并使用TestExecutionListenerRunListener

我不想创建自己的Launcher只是为了用侦听器执行测试.

Mar*_*ipp 7

Maven Surefire目前不支持TestExecutionListener通过其配置添加.我认为你应该为他们打开一个问题,因为他们目前正在将JUnit团队的自定义提供程序整合到他们的代码库中.

但是,您可以TestExecutionListener通过" 用户指南"中描述的Service Loader机制注册自定义.

  • 谢谢您的回答。不知何故,我错过了用户指南中的这一段。对于像我这样不熟悉 Service Loader 机制的人,可以试试 Google AutoService 库:https://github.com/google/auto/tree/master/service (2认同)