在包含集成测试的bundle中,我希望所有名称以Test
结尾的类被视为测试,并在启动 OSGi Framework JUnit Tests 时执行。
Test-Classes
文件中的bnd.bnd
指令似乎是指定此内容的正确位置。但是,http://bnd.bndtools.org/macros/classes.html处classes
宏的文档很少。
因此,我的问题是如何形成指令以包含所有以Test
结尾的类
Test-Cases: ${classes that end with Test}
答案 0 :(得分:0)
到目前为止,我的实验表明,这个指令可以解决问题:
Test-Cases: ${classes;CONCRETE;NAMED;*Test}
CONCRETE
确保仅考虑具体类型,例如排除抽象类型。 NAMED
后跟模式*Test
只会考虑那些名称以Test结尾的类。
由于JUnit 4只能执行公共测试,因此要考虑的另一个约束可能是PUBLIC
。例如:
Test-Cases: ${classes;CONCRETE;PUBLIC;NAMED;*Test}
另一方面,您可能更喜欢让JUnit失败非公开测试,而不是默默地忽略它们(如果指定了PUBLIC
)。