在我的团队成员中,我以忘记维护(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

事实证明,这个小工具在某些项目中已经有用了一段时间,因此我认为它也可能对您有所帮助。 如果您有任何反馈意见,请发表评论或提出问题 。

参考:来自我们的JCG合作伙伴 Rudiger Herrmann 的自动OSGi测试运行程序 ,位于Code Affine博客上。

翻译自: https://www.javacodegeeks.com/2013/07/an-automated-osgi-test-runner.html

自动化的OSGi测试运行器相关推荐

  1. jar运行 osgi保存_自动化的OSGi测试运行程序

    jar运行 osgi保存 在我的团队成员中,我以忘记维护(JUnit)测试套件而闻名. 我只是无法完成手动添加测试套件这一额外步骤. 幸运的是,有连续的集成服务器可以按命名模式收集测试. 如果我介绍的 ...

  2. 统一社会信用代码测试_统一的测试运行器和测试分析

    统一社会信用代码测试 Hi, I'm Yan and for the past two years I've been a Toolsmith at Unity. We have grown quit ...

  3. OSGi 规范和框架 OSGi框架类加载机制 Java默认类加载器机制和OSGI类加载器机制比较

    一.OSGi 规范 OSGi(Open Service Gateway Initiative) 技术是 Java 动态化模块化系统的一系列规范.OSGi 一方面指维护 OSGi 规范的 OSGi Al ...

  4. 【自动化】火车头采集器

    火车采集器(LocoySpider) 是一个供各大主流文章系统,论坛系统等使用的多线程内容采集发布程序.使用火车采集器,你可以瞬间建立一个拥有庞大内容的网站.系统支持远程图片下载,图片批量水印,Fla ...

  5. 参数化测试 junit_JUnit中的参数化测试运行器

    参数化测试 junit 我们都有书面的单元测试,其中在一个测试中针对不同的可能的输入输出组合进行测试. 让我们以一个简单的斐波那契数列示例为例,看看它是如何完成的. 以下代码针对提到的元素数量计算斐波 ...

  6. JUnit中的参数化测试运行器

    我们都有书面的单元测试,其中在一个测试中针对不同的可能的输入输出组合进行测试. 让我们以一个简单的斐波那契数列为例来看看它是如何完成的. 以下代码针对提到的元素数量计算斐波那契数列: import j ...

  7. RPA-机器人流程自动化

    RPA-机器人流程自动化 RPA-机器人流程自动化简介 RPA是什么? RPA历史上的演变 RPA原理 RPA特点 RPA技术框架及功能 1.TagUI 2.RPA for Python 3.Robo ...

  8. 自动化测试框架cucumber_基于Cucumber和Testng的WebUI自动化测试方法与流程

    本发明涉及计算机技术领域,具体的说是基于Cucumber和Testng的WebUI自动化测试方法. 背景技术: 行为驱动测试方法已经在敏捷开发模式中普遍使用,通过使用标准化的语言将客户需求人员.开发人 ...

  9. python 自动化-五大自动化测试的Python框架

    [51CTO.com快译]自2018年被评选为***编程语言以来,Python在各大排行榜上一直都是名列前茅.目前,它在Tiobe指数(请详见https://www.tiobe.com/tiobe-i ...

最新文章

  1. 注册窗口类RegisterClassEx   AfxRegisterWndClass
  2. BZOJ 3990: [SDOI2015]排序(搜索+剪枝)
  3. 采用Angular勾画SVG圆环形进度条
  4. 使用递归法求阶乘(C语言)
  5. db2建库、建表空间基本流程
  6. python核心理念_《三天搞定Python基础概念之第一天》中文版
  7. B00015 C++实现的图类
  8. String、StringBuffer与StringBuilder的区别
  9. Apache Flink 零基础入门(二):开发环境搭建和应用的配置、部署及运行
  10. java中的配置文件
  11. 5G NR CSI Report中关于codebook/PMI的理解(1)
  12. android自动适应横屏,Android屏幕适配(一)--自定义View屏幕适配
  13. c语言综合项目实践 结构体及应用,C51单片机应用与C语言程序设计(第3版) 基于机器人工程对象的项目实践简介,目录书摘...
  14. AI研习丨针对长尾数据分布的深度视觉识别
  15. CDH 5.14.2 server启动报错 Can't DROP FOREIGN KEY `FK_SERVICE_CONFIG_REVISION`; check that it exists
  16. 集集自助服务密码重置
  17. 字典(python学习)
  18. 给新程序员的10条建议
  19. 一个硅谷实习生竟是顶级黑客?网络安全风险多!
  20. 位置式PID与增量式PID区别浅析(百度百科增量式PID讲解思路概念更明确清晰)

热门文章

  1. Word中标题、图表自动编号的方法
  2. Mybatis3(3)动态 SQL
  3. openshift 部署_在OpenShift上部署Java EE微服务
  4. 成为Java流大师–第4部分:数据库流
  5. 背包问题九讲_背包问题
  6. 两个Oracle JDK的故事
  7. 面向Java程序员的20大Spring REST面试问题答案
  8. Java 9:对Process API的增强
  9. 使用Java 9向Javadoc搜索添加术语
  10. 设计模式 原型模式_设计模式:原型