我已经编写了几个扩展,并有“测试数据”测试用例来触发它们的功能,然后有一些测试会创建一个运行这些测试的启动器,以便验证扩展的行为是否符合预期(我们称它们为“启动器测试”)。我遇到的问题是“测试数据”应该使用扩展,但“启动器测试”不应该使用扩展,只运行普通的 junit5。
到目前为止,我一直无法让它工作,两种类型都将使用扩展。我要么想启用自动检测属性并将其从启动器中删除,但还没有找到任何 API。
我可以接受autodetect=false
,设置@ExtendWith(MyExtension.class)
在“测试数据”上,我认为这会使启动器测试本身不使用 MyExtension。但是当我尝试过时,两者仍然运行扩展。
那么,有什么方法可以让内部测试运行扩展而外部测试不使用它?如果我们在两个地方都启用了它,那么我并没有真正测试我期望的行为。