有没有一种方法可以集成测试我的JUnit Jupiter扩展?当然,我可以测试扩展使用的良好情况,但我想测试以下内容:
对此有一些内置支持吗?
答案 0 :(得分:2)
没有明确的Jupiter扩展测试框架-但在1.4版中,将提供 Platform Test Kit (平台测试工具包),您可以用来一次性执行Jupiter引擎和扩展并进行断言测试运行的结果。
有关详细信息,请参见:https://junit.org/junit5/docs/snapshot/user-guide/#testkit,除该文档外,还可以在JUnit 5的“ platform-tests”项目中找到Platform Test Kit的用法。例如:https://github.com/junit-team/junit5/blob/master/platform-tests/src/test/java/org/junit/platform/testkit/engine/ExecutionsIntegrationTests.java
答案 1 :(得分:-1)
您不应该为自己的Junit扩展执行集成测试。 Junit 5 API非常非常稳定,我敢打赌,您的扩展将对集成测试在不断发展的环境中很有用,但是Junit只会添加功能,而永远不会对其进行更改(除非存在错误)。
如果您对自己的Junit扩展执行集成测试,就好像您在测试Junit本身一样。为什么要测试Junit而不是扩展程序?让Junit由Junit开发人员进行测试,除非您认为自己发现了错误。但是,为了测试Junit而测试Junit是浪费您的时间,即使您不知不觉地认为您只是在测试自己的扩展程序。
因此,应该通过让用户向您报告问题来长期进行这种测试:“嘿,AwesomeExtension与Junit 5.AB兼容,但与5.XY不兼容”,然后找出他们为什么这么说并且如果问题不在您的扩展程序中,请向Junit报告。
但是,请确保您已对自己的扩展程序进行了单元测试。