jar运行 osgi保存
在我的团队成员中,我以忘记维护(JUnit)测试套件而闻名。 我只是无法完成手动添加测试套件这一额外步骤。 幸运的是,有连续的集成服务器可以按命名模式收集测试。 如果我介绍的一项孤立测试失败了,那么它会脱颖而出。
为了弥补这一点,我创建了(几乎)免维护的测试运行程序。 虽然普通的JUnit测试已经有了这种东西 ,但我找不到OSGi测试的类似东西。
当具有多个捆绑软件时,您通常会拥有一个主测试套件,该套件会汇总所有每个捆绑的测试套件。 要使用BundleTestSuite ,只需替换您的主测试套件,如下所示:
@RunWith( BundleTestSuite.class )
@TestBundles( { "org.example.bundle1", "org.example.bundle2" } )
public class MasterTestSuite {
}
RunWith注释告诉JUnit使用BundleTestSuite测试运行程序。 然后,该测试运行程序评估TestBundles批注,并从其中列出了符号名称的所有捆绑软件执行测试。 如果创建新捆绑包,则将其名称添加到TestBundles列表中,并将拾取该捆绑包(或其片段)包含的所有测试。 当前通过其名称标识测试类别。 名称以“ Test”结尾的所有类均被视为测试类。
反思地收集测试的副作用是,您可以删除所有变通办法(Eclipse-ExtensibleAPI等),以使片段中的测试对外部可见。
当在Eclipse中作为PDE JUnit Tests运行测试时 ,捆绑软件的布局不同于常规打包的捆绑软件。 BundleTestSuite考虑了这一点,并在收集测试时解决了Equinox中的错误 。 不幸的是,此问题也影响到Tycho 。 当前,BundleTestSuite不能与Tycho一起运行,因此您现在必须继续使用surefire include / exclude指令。
该代码可在Eclipse Public License下获得,并托管在GitHub上 。 可以从此p2存储库获得最新的稳定版本:http://rherrmann.github.io/osgi-testsuite/repository
事实证明,这个小工具在某些项目中已经有用了一段时间,因此我认为它也可能对您有所帮助。 如果您有任何反馈意见,请发表评论或提出问题 。
翻译自: https://www.javacodegeeks.com/2013/07/an-automated-osgi-test-runner.html
jar运行 osgi保存