运行 测试由 Bndtools/Bnd 中的名称模式标识
Run tests identified by a name pattern in Bndtools/Bnd
在包含集成测试的包中,我希望所有名称以 Test
结尾的 类 都被视为测试并在启动 OSGi Framework JUnit 测试时执行.
bnd.bnd
文件中的 Test-Classes
指令似乎是指定它的正确位置。但是,classes
宏在 http://bnd.bndtools.org/macros/classes.html 的文档很少。
因此,我的问题是如何形成指令以包含所有 类 以 Test
结尾的
Test-Cases: ${classes that end with Test}
到目前为止,我的实验表明,这条指令可以解决问题:
Test-Cases: ${classes;CONCRETE;NAMED;*Test}
CONCRETE
确保只考虑具体类型,例如排除抽象类型。并且 NAMED
后跟模式 *Test
仅考虑名称以 Test.
结尾的那些 类
由于 JUnit 4 只能执行 public 测试,另一个需要考虑的约束可能是 PUBLIC
。例如:
Test-Cases: ${classes;CONCRETE;PUBLIC;NAMED;*Test}
另一方面,您可能更愿意让 JUnit 使非 public 测试失败,而不是默默地忽略它们(如果指定了 PUBLIC
)。
在包含集成测试的包中,我希望所有名称以 Test
结尾的 类 都被视为测试并在启动 OSGi Framework JUnit 测试时执行.
bnd.bnd
文件中的 Test-Classes
指令似乎是指定它的正确位置。但是,classes
宏在 http://bnd.bndtools.org/macros/classes.html 的文档很少。
因此,我的问题是如何形成指令以包含所有 类 以 Test
结尾的
Test-Cases: ${classes that end with Test}
到目前为止,我的实验表明,这条指令可以解决问题:
Test-Cases: ${classes;CONCRETE;NAMED;*Test}
CONCRETE
确保只考虑具体类型,例如排除抽象类型。并且 NAMED
后跟模式 *Test
仅考虑名称以 Test.
由于 JUnit 4 只能执行 public 测试,另一个需要考虑的约束可能是 PUBLIC
。例如:
Test-Cases: ${classes;CONCRETE;PUBLIC;NAMED;*Test}
另一方面,您可能更愿意让 JUnit 使非 public 测试失败,而不是默默地忽略它们(如果指定了 PUBLIC
)。