首页 / 知识
关于java:OSGi测试
2023-04-16 00:38:00

OSGi Testing目前,作为大学最后一年项目的一部分,我正在开发一个新的版本控制系统。 这个想法是使其具有高度的适应性和可插拔性。 我们正在使用OSGi框架(Equinox实现)来管理我们的插件。 我的问题是我找不到用于测试OSGi捆绑包的简单易用的方法。 当前,我必须使用Maven构建捆绑软件,然后执行测试工具。 我正在寻找类似Eclipse的JUnit测试运行程序之类的东西,因为它可以节省大量时间。 有没有一种快速简便的方法来测试OSGi捆绑软件? 编辑:我不需要测试Eclipse插件或GUI组件,仅需要OSGi捆绑包即可。 EDIT2:是否有一些支持JUnit4的框架?
最近,您应该看看Pax考试: 这是OPS4J当前与测试有关的工作。 以下是一些尚未提及的工具:
在OPS4J(ops4j.org)上有一个专用的开源OSGi测试框架,称为Pax Drone。 您可能想看看Pax Drone([http://wiki.ops4j.org/confluence/x/KABo]),它使您可以在测试中使用所有的Felix版本以及Equinox和Knopflerfish。
干杯, Spring Dynamic Modules对测试OSGi捆绑包提供了出色的支持。 Eclipse具有启动配置类型,可用于在Eclipse(即OSGi)应用程序的上下文中运行JUnit测试: http://help.eclipse.org/stable/index.jsp?topic=/org.eclipse.pde.doc.user/guide/tools/launchers/junit_launcher.htm 我认为我们遇到了同样的问题,并制定了自己的解决方案。解决方案有不同部分:
使用这些工具,您可以执行TDD,并且书面测试也始终在maven集成阶段内运行。建议将eclipse与m2e和maven-bundle-plugin一起使用,因为在这种情况下,只要在源中保存类,就会重新生成target / classes / META-INF / MANIFEST.MF。到部署程序窗口。您开发的OSGi捆绑包不必具有任何特殊功能(例如,作为eclipse插件之类的东西)。 整个解决方案是OpenSource。您可以在http://cookbook.everit.org上找到教程。 ProSyst测试执行环境是OSGi捆绑软件的有用测试工具。它还支持JUnit测试作为可能的测试模型之一。 对于单元测试,请使用EasyMock框架或为测试所需的接口创建自己的实现。 条约是一个合同(测试)框架,虽然学术性强,但也有一些不错的主意。有论文发表在此上,并且人们正在努力对其进行改进。 如果您需要测试GUI组件,我发现SWTBot可以完成工作。 我想有很多方法可以测试OSGi组件。测试的一种方法是使用Robot Framework。我所做的是使用Robot Framework进行测试,并在OSGi中安装了远程库,或者使它们通过套接字与OSGi-test组件进行通信,而Robot将与这些模块进行通信并通过它们运行测试。 因此,基本上,您的OSGi模块应该具有执行某些操作并产生某些输出的接口。因此,在我的设置中,我有一个测试组件,可以对实际的OSGi组件进行服务调用,然后会有一个侦听服务,可以捕获事件/服务调用(由被测模块进行),并且这些结果可以被机器人问到。因此,基本上,通过这种方式,您可以将大型系统拆分为多个小组件,并使该系统在生产/生产环境(如环境)中运行,并在组件级别上对其进行自动测试,或者对某些实际组件进行统一测试。 在过去的几年中,Tycho(一种用于OSGi的基于Maven的新构建系统)在Eclipse Foundation中变得相当流行。该框架还包括使用Maven Surefire在单独的测试床上测试OSGi捆绑软件的方法... bnd-testing-maven-plugin怎么样?
它允许在诸如Felix或Equinox之类的运行容器中运行JUnit。 https://github.com/bndtools/bnd/tree/master/maven/bnd-testing-maven-plugin 还可以查看Maven的有效原型。这将为您构建项目或添加测试提供一个良好的起点。 https://github.com/effectiveosgi |
最新内容
相关内容
linux命令没执行完?
linux命令没执行完?,系统,设备,工具,情况,密码,状态,电脑,管理,材料,服务,Linux:写的脚本执行过程中为什么会有cp未复制完,或者tar未解压完的linux打包项目命令?
linux打包项目命令?,项目,文件,命令,软件,数字,系统,名称,工具,目录,格式,Linux打包和压缩1、Linux下,常用打包命令有2个,分别是tar和dd;常用的压linux项目更新命令行?
linux项目更新命令行?,工作,地址,系统,数据,信息,项目,标准,电脑,目录,命令,linux常用的命令有哪些1、linux系统常用操作命令linux系统常用操linux打印命令执行?
linux打印命令执行?,信息,系统,工具,服务,命令,发行,基础,位置,设备,时间,怎么使用CMD里面的print命令?1、print 打印命令用法:PRINT [/D:devicelinux执行两次命令?
linux执行两次命令?,系统,信息,连续,名称,命令,初级,首页,工具,管理,终端,linux怎么执行命令linux如何进入命令行?我们一起来了解一下吧。打开llinux命令执行安装?
linux命令执行安装?,软件,系统,管理,网站,官网,市场,中心,最新,灵活,工作,如何定制安装linux软件?linux安装软件的三种方式如下:源代码编译安装linux执行一条新命令?
linux执行一条新命令?,系统,工作,命令,管理,网络,服务,信息,目录,路径,脚本,Linux下必须知道的11个网络命令netstat -r:打印路由表。路由表保存监控linux执行命令?
监控linux执行命令?,系统,情况,数据,实时,网络,信息,状态,时间,设备,命令,如何监视Linux系统资源的使用情况使用top或htop命令 top或htop都可linux命令卡死不执行?
linux命令卡死不执行?,系统,设备,数据,密码,工具,情况,软件,环境,分析,命令,linux命令出现卡机,很多命令输入后不反应1、可能是你shell的环境linux执行c程序命令?
linux执行c程序命令?,系统,工作,工具,信息,代码,命令,文件,保险,管理,环境,linux系统常用操作命令linux常用命令有pwd命令、cd命令、ls命令、clinux命令执行中断?
linux命令执行中断?,设备,系统,网络,工具,工作,通用,状态,名字,流程,进程,linux解压文件终端断了,还会继续执行吗1、在Linux远程运行JAR包时,是执行linux脚本命令行?
执行linux脚本命令行?,工具,位置,地方,环境,数据,状态,暂停,增长,系统,基础,运行linux脚本,遇到要按回车键,怎么让它自动应答,继续运行脚本?1