在 Bndtools/Bnd 中运行由名称模式标识的测试



在包含集成测试的捆绑包中,我希望所有名称以Test结尾的类都被视为测试,并在启动OSGi框架JUnit测试时执行。

bnd.bnd文件中的Test-Classes指令似乎是指定此指令的正确位置。但是,http://bnd.bndtools.org/macros/classes.html 处的classes宏的文档很少。

因此,我的问题是如何形成指令以包括所有以Test结尾的类

,如下所示
Test-Cases: ${classes that end with Test}

到目前为止,我的实验表明,该指令可以解决问题:

Test-Cases: ${classes;CONCRETE;NAMED;*Test}

CONCRETE确保只考虑具体类型,例如排除抽象类型。NAMED后跟的模式*Test只考虑那些名称以 Test 结尾的类。

由于 JUnit 4 只能执行公共测试,因此要考虑的另一个约束可能是PUBLIC。例如:

Test-Cases: ${classes;CONCRETE;PUBLIC;NAMED;*Test}

另一方面,您可能更愿意让 JUnit 失败非公开测试,而不是静默忽略它们(如果指定了PUBLIC)。

相关内容

  • 没有找到相关文章

最新更新