是否有某种方法可以完全控制JUnit5中测试方法的执行(包括前/后方法),类似于JUnit4 @RunWith注释?
我正在尝试构建一个JUnit5 Arquillian扩展,但由于Aquillian基本上需要在容器中执行每个测试,所以当从Junit5扩展中运行Arquillian时我遇到了问题。
我的代码在这里:BasicJunit5ArquillianTest.java
测试应该在一个单独的容器中运行所有方法(包括之前/之后),该容器可以是单独的JVM,远程或嵌入式服务器或任何隔离的。我的扩展程序从beforeEach挂钩运行测试方法,使用Arquillian传输测试类并使用LauncherFactory.create()在容器中运行它,收集测试结果并将其传回。
问题是测试方法执行了两次 - 通过正常的JUnit5执行和来自beforeEach钩子的Arquillian扩展。我想仅通过Arquillian运行测试并跳过正常的方法执行。
这是否可以在JUnit5扩展中使用? 或者我需要创建一个自定义测试引擎,可能会扩展Jupiter测试引擎?