在Bndtools / Bnd

时间:2016-11-28 00:12:21

标签: bnd bndtools

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

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

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

Test-Cases: ${classes that end with Test}

1 个答案:

答案 0 :(得分:0)

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

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

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

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

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

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