问题标签 [pax-exam]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1306 浏览

java - 使用 pax-exam 在本机容器中配置 pax-logging

我知道这有点具体,但我已经尝试了我能想到的一切。我正在使用 pax-exam 运行一些集成测试,并且日志记录应该使用 pax-logging。

这在直接运行 felix 容器时工作正常,但如果我通过 pax-exam 启动它,pax-logging 永远不会被配置(它没有bundles.configuration.locationvm proeperty,所​​以它找不到services/org.ops4j.pax.logging.properties)。

我试图设置它但似乎不起作用的方式是使用:

我会很感激你的任何建议。非常感谢!

0 投票
1 回答
244 浏览

osgi - pax-exam (v2.5) - 无法部署 camel-xstream

我正在尝试理解/获取 PAX-EXAM 的工作示例。据我了解,我需要部署我想要测试的包(在本例中为 boohoo-esb-common)和它使用的任何包(在本例中为 camel-xstream)。

但是,当我尝试运行测试时,pax-exam/felix 无法部署 xstream 功能。以下是我在执行以下操作时在控制台窗口中遇到的错误: mvn clean install

错误:捆绑 com.boohoo.boohoo-esb-common [25] 错误启动文件:/C:/Users/GARETH~1.HEA/AppData/Local/Temp/1346170773171-0/bundles/com.boohoo.boohoo-esb -common_1.0.0.SNAPSHOT.jar(org.osgi.framework.BundleException:捆绑com.boohoo.boohoo-esb-common [25]中未解决的约束:无法解决25.0:缺少要求[25.0] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.blueprint)(version>=1.0.0)(!(version>=2.0.0)))) org.osgi.framework.BundleException:捆绑中未解决的约束com.boohoo.boohoo-esb-common [25]:无法解析 25.0:缺少要求 [25.0] osgi.wiring.package;(&(osgi.wiring.package=org.osgi.service.blueprint)(version>=1.0.0)(!(version>=2.0.0))) 在 org.apache.felix.framework.Felix.resolveBundleRevision( Felix.java:3826)在 org.apache.felix.framework。

我附上了一个简单的例子,希望能说明我的意思。

我是否以正确的方式解决这个问题?还是我不知道如何使用pax-exam ...

0 投票
1 回答
991 浏览

junit - PaxExam 异常运行测试

我是 Pax Exam 的新手,并试图通过调用我的 OSGI 服务来运行测试。在 Eclipse 中运行 paxexam 测试时出现以下异常。

任何想法为什么会发生这种情况?当我在以下代码中启用 @Inject DataGenerator 行时会发生这种情况。

谢谢,拉胡尔

0 投票
1 回答
4839 浏览

maven - maven-bundle 插件和 pax-exam:MANIFEST.MF 不存在

以下情况:我正在使用 maven 和 maven-bundle-plugin 开发一个 OSGi 应用程序。我想运行单元测试并发现 Pax-Exam,我发现它退出了合适的。

这是我的父母 pom.xml

我创建了包含一个简单测试用例的模块 workspace-osgiframework-tests:

}

和对应的 pom.xml

我运行 mvn test,一切正常,但如果我运行 mvn install,我会收到以下错误:

知道如何摆脱它吗?

这也是我的第一个 maven 项目,所以如果您有任何建议,请告诉我。

0 投票
1 回答
1344 浏览

osgi - OSGI Pax Exam 简单测试在 maven 上运行,但不在 IDE 上

我正在做一个非常简单的 Pax Exam 测试。

使用 maven "mvn verify" 运行它时,它是成功的。使用我的 IDE 运行它时,出现以下错误。

任何人都知道我是缺少一个罐子还是这是一个错误?

谢谢,

这是我的测试课:

这是我的 pom.xml :

0 投票
0 回答
2183 浏览

osgi - 使用 Pax Exam 测试 osgi

现在我正在使用Pax Exam 来测试OSGI,但是当我创建一个osgi helloworld 项目时,我应该如何使用PaxExam 创建一个junit 测试项目来测试helloworld osgi?谢谢!

0 投票
1 回答
1543 浏览

eclipse - Pax Exam 2.6.0 + Karaf 2.3.0 - 在 Eclipse 中调试失败 - NotBoundException

我一直在使用 Pax Exam 2.6.0 通过Karaf Exam Container在 Apache Karaf 2.3.0 上运行集成测试。

一切都按预期工作,除了来自 Eclipse 的集成测试的本地调试(不是远程)。我在这里找到了一个建议的解决方案:http: //team.ops4j.org/wiki/display/paxexam/FAQ#FAQ-WhydoestheJavadebuggernotstopatabreakpointIsetinmyPaxExamJUnittest%3F

使用 Pax Runner 容器时,您要处理两个 Java VM 进程,一个运行测试驱动程序,一个运行 OSGi 框架。JUnit 类的执行流程实际上是在两个 VM 之间拆分的,并且您的测试方法的主体在远程 VM 上执行。

因此,您需要在 @Configuration 方法中使用 vmOption() 为生成的 VM 启用远程调试,例如

vmOption("-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"), systemTimeout(0)

不幸的是,这不起作用,当我尝试在调试模式下从 Eclipse 启动 JUnit 测试时,我不断收到每个 @Test 运行的这些错误 - 带注释的方法:

控制台视图中唯一显示的是以下行:

在地址监听传输 dt_socket:5005

我的系统详细信息如下:

  • 操作系统:Windows 7 64 位
  • Java版本:Oracle Java 7 Update 9 64bit
  • Pax 考试版本:2.6.0
  • IDE:Eclipse 4.2

这个问题每次都会发生。

作为结论:我的目标是能够直接从 Eclipse IDE 在调试模式下运行 jUnit 集成测试。有人有建议吗?

谢谢!

0 投票
2 回答
559 浏览

apache-felix - 在 Pax 考试测试中加载 ipojo Maven Bundle

我正在尝试使用 Pax Exam 创建一个测试,其中我为测试加载的一些包依赖于包“ org.apache.felix.ipojo ”。

如果我要在 Pax Exam 配置中省略加载此捆绑包的行,例如:

然后我得到一个错误,表明这个包是一个缺少的依赖项:

但是,如果我添加包含它的行:

我收到一条指示 ClassCastException 的消息,我认为这是由于 ipojo 捆绑包内置到 Felix 中造成的。

我正在使用 Felix 和 JUint4TestRunner 作为跑步者。

如何在没有冲突的情况下访问此依赖项?

0 投票
2 回答
2671 浏览

osgi - OSGI 集成测试,Pax Exam 探针在容器包启动之前执行测试

我目前正在尝试使用 PAX-EXAM+KARAF 编写 OSGI 集成测试,但遇到了一个问题,即 pax 考试试图在依赖包在容器中实际启动/初始化之前执行测试方法。奇怪的是,有时测试会成功,在这种情况下,所有的包/上下文都会启动并记录下来,但大多数时候它不会。方法的延迟无济于事:(任何人都可以帮助解决这个问题吗?

我正在使用 PAX-EXAM 2.6.0、org.apache.karaf.tooling.exam.container 2.3.0、apache-karaf 2.3.0。

代码:

测试方法:

日志:

完整日志: https ://www.dropbox.com/s/v12r15sbmtu9svp/log.txt

也尝试过没有运气:

0 投票
1 回答
1195 浏览

jetty - 如何更改 PaxExam 端口

我有一套使用 PaxExam 成功运行的集成测试。我使用 Maven 运行测试。测试的目的是测试通过在 Karaf 中运行的 Apache CXF 实现的 REST Web 服务。

测试在我的机器上运行,但在 Jenkins 构建期间由于端口冲突而失败。CXF 使用端口 8181,这似乎是默认的 Jetty 端口。有没有办法在测试套件中以声明方式或编程方式更改此端口?

我尝试使用此处列出的各种 PaxExam 选项:

http://team.ops4j.org/wiki/display/PAXEXAM3/Configuration+Options,但无济于事。

谢谢你。