微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

确定测试是否在JUnit5和Junit4中的方法或类级别运行

如何解决确定测试是否在JUnit5和Junit4中的方法或类级别运行

我正在编写junit5扩展,需要知道测试是在方法级别还是在类级别运行。

  • 方法级别(右键单击->在IDE或类似的CLI命令中的方法上运行)
  • 类级别(右键单击->在IDE或类似的CLI命令中的类上运行)

我需要根据测试的执行方式为用户提供不同的体验。

... implements BeforeAllCallback {
    @Override
    public void beforeAll(ExtensionContext context) {
        // I found that this has the number of tests that will execute,which in my case
        // will work for me as I can assume > 1 means class level.  However it is `protected`. 
        // I realise that I can use reflection to access it but I want an official way of 
        // doing that won't break as I don't control the client junit5 version

        // getTestDescriptor() is protected
        context.getTestDescriptor().children.size();
    }

有没有一种方法可以获取此信息而无需进行反思。

顺便说一句-我也需要JUnit4的相同信息。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。