Testing 如何测试JUnit Jupiter(JUnit 5)扩展

Testing 如何测试JUnit Jupiter(JUnit 5)扩展,testing,junit5,Testing,Junit5,有没有办法集成测试我的JUnitJupiter扩展?当然,我可以测试一个很好的扩展使用案例,但我想测试如下: 它是否按预期通过测试 测试结束时是否编写了正确的报告 有一些内置的支持吗?您不应该为自己的Junit扩展执行集成测试。Junit 5 API非常非常稳定,我打赌您的扩展在Junit 5的整个生命周期中都会工作。集成测试在不断发展的环境中非常有用,但Junit只会添加特性,从不更改特性(除非有bug) 如果您为自己的Junit扩展执行集成测试,就好像您在测试Junit本身一样。为什么要

有没有办法集成测试我的JUnitJupiter扩展?当然,我可以测试一个很好的扩展使用案例,但我想测试如下:

  • 它是否按预期通过测试
  • 测试结束时是否编写了正确的报告

有一些内置的支持吗?

您不应该为自己的Junit扩展执行集成测试。Junit 5 API非常非常稳定,我打赌您的扩展在Junit 5的整个生命周期中都会工作。集成测试在不断发展的环境中非常有用,但Junit只会添加特性,从不更改特性(除非有bug)

如果您为自己的Junit扩展执行集成测试,就好像您在测试Junit本身一样。为什么要测试Junit而不是扩展?让Junit由Junit开发人员进行测试,除非您认为您发现了一个bug。但是为了测试Junit而测试Junit是浪费您自己的时间,即使您不自觉地认为您只是在测试您自己的扩展

因此,这种测试应该长期进行,让用户向您报告问题:“嘿,AwesomeExtension与Junit 5.A.B兼容,但与5.X.Y不兼容”,然后找出他们为什么这么说,如果问题与您的扩展无关,那么就与Junit一起报告


但是,请确保您获得了分机。。。单元测试。

没有明确的Jupiter扩展测试框架——但在版本1.4中,将有平台测试工具包,您可以使用它一次性执行Jupiter引擎和扩展,并断言测试运行的结果


有关详细信息,请参阅:除该文档外,还可以在JUnit5的“平台测试”项目中找到平台测试工具包的用法。例如:

你们这些反对票和反对票的人能写一篇评论吗?这个问题出了什么问题,我可以改进一下……我不同意反对票和反对票,但我对此无能为力。我认为集成测试Junit扩展是浪费时间,但这并不会让你的问题变得糟糕?我猜他不想测试JUnit5提供的扩展,而是想测试他自己的扩展。不是吗?@Sormuras这是我理解和回答的,但我说得更清楚了,谢谢!