问题标签 [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 回答
406 浏览

testing - Pax 考试测试偶尔会失败

我正在使用 Pax Exam 在 Karaf 中测试 CXF REST 服务。测试几乎总是在我的机器上顺利运行。在 Jenkins(在 Maven 构建下)运行时,它们通常会失败。失败似乎是随机的和不可预测的。我在失败期间收到的错误涉及尝试运行 Karaf 命令。这些命令由以下代码段执行:

这些是我试图在测试设置方法中执行的命令:

这是一个例外:

org.apache.felix.gogo.runtime.CommandNotFoundException: Command not found: features:addurl

显然有时 Karaf 无法正确启动并且无法处理这些命令。像这样的错误在不同 Karaf 命令的不同测试中随机发生。在我的机器上,如果机器处于负载状态,它们更有可能发生。

什么可能导致卡拉夫以这种方式行事?如何防止这些错误的发生?

谢谢,

迈克尔

0 投票
1 回答
1713 浏览

java - Pax 考试 2:放弃等待服务

我正在尝试使用许多捆绑包(cxf-jaxrs、aries-tx、jpa ...)进行一些 pax-exam-karaf 测试。测试在我的本地环境(强大的 i7 计算机)上运行良好,但在我的 CI 服务器上失败:原因:org.ops4j.pax.swissbox.framework.ServiceLookupException:放弃等待服务

错误非常明确:我达到了 pax-exam 的超时时间,问题是:如何配置此超时时间?

我尝试设置 systemTimeout(5000000) 选项,但似乎没有考虑在内。

是 karaf 配置问题还是 pax 问题?

另一个问题是关于支持 Karaf 功能的考试 3.1.0 的发布:我是一个极客,想成为技术的佼佼者!

最好的问候,并再次感谢这个奇妙有用的框架。

0 投票
2 回答
1963 浏览

unit-testing - 如何在编写 pax-exam 测试时检索 blueprint.xml 中定义的 OSGi 服务实例?

我想知道是否有人尝试使用本机容器在 pax-exam 中测试通过 blueprint.xml 暴露的 bean/服务。

我有一个包含两个捆绑包的项目 - a) config - 接口类 b) config-impl - 包含实现并将 bean 公开为 blueprint.xml 中定义的服务。

我希望测试类中的@Inject 类似于@ https://ops4j1.jira.com/wiki/display/PAXEXAM3/Getting+Started+with+OSGi+Tests中提到的方法应该自动设置@Inject 中的实例值' ed 变量,但它似乎没有工作。

发送到 pax-exam 的选项粘贴在下面。是否有更多的包要加载,以便 pax-exam 开始识别 blueprint.xml 并启动服务?

0 投票
0 回答
660 浏览

osgi - 使用 pax-exam 问题安装 OSGi 包

我正在尝试编写 spock pax 考试扩展,但发现使用服务器模式进行捆绑安装存在问题。

这是我的代码

即使我增加延迟,我也找不到我的包已安装。我可以看到选项 mavenBundle 不会影响 karaf 启动,因为如果我放置了错误的版本或 artifactId,pax 不会通知我。

有人对这个问题有任何线索吗?

0 投票
2 回答
447 浏览

osgi - 如何在 pax 考试中指定系统包导出

Pax 考试用于测试 Apache CXF 分布式 OSGi。我最近更新到 apache felix 4.2.1。在较新版本的 felix 中,我遇到了由 cxf 规范包和系统包导出的包的问题。不知道为什么旧的 felix 3.x 没有发生这种情况。

对于发行版,我们在 felix 配置中控制它(参见我们使用的配置模板) 我们使用“org.osgi.framework.system.packages”属性来定义系统包导出。

我怎样才能使用 pax 考试做同样的事情。我知道如何使用 karaf 考试来做到这一点,但它不能用于我们想要明确测试纯 felix。

我已经测试过 CoreOptions.systemPackage 但它只允许添加导出而不是重新定义它们。

0 投票
0 回答
407 浏览

osgi - pax 考试:解决碎片化的捆绑包

解决了!这是一个类路径问题。谢谢

我想部署和解决一个零散的捆绑包。如果我使用 noStart() 方法,包片段保持在 INSTALLED 状态,但我希望状态为 RESOLVED。因此,捆绑主机无法看到其资源。使用 Apache Felix 一切正常。

我究竟做错了什么?

谢谢并恭祝安康!罗兰

0 投票
2 回答
464 浏览

osgi - Pax Exam 3.3.0 - 如何加载实用程序 jar?

我正在使用最新的 Pax Exam (3.3.0) 进行 OSGi 测试。我已经启动并运行 Pax Exam,部署和启动我的捆绑包等。生活是美好的。

我还有一个实用项目,其中包含我希望能够在多个测试项目中重复使用的各种工厂和其他有用的功能。它是一个 maven 项目,作为 Pax Exam pom.xml 的依赖项包含在内。

但是,一旦我尝试访问实用程序 jar 中包含的任何类,我就会收到 ClassNotFoundException。我一直在玩类加载器,发现我可以通过 URLClassLoader 直接加载类。但是,我仍然抛出了 ClassNotFoundException。

将实用程序项目转换为捆绑包不是一种选择。我将需要在@BeforeClass 注释方法中使用实用程序代码,并且尚未注入 BundleContext 实例。

谁能告诉我在 Pax Exam 中获取我的实用程序项目的最佳/最简单方法?

0 投票
3 回答
1896 浏览

java - 使用 pax-exam 时测试使用 maven-scr-plugin 创建的服务时出现问题

我设置了一个非常简单的“HelloWorld”服务来演示我的问题。它使用 maven-scr-plugin 生成服务描述符并进行 pax-exam 单元测试。但是当我尝试运行“mvn clean test”时,它会阻塞一段时间,然后给我这个错误:

如果我运行 'mvn -DskipTests=true package' 然后运行 ​​'mvn test' (没有清理)它可以工作。不同之处似乎是在我的 META-INF/M ANIFEST.MF 文件中添加了这一行:

有谁知道是否有办法确保在构建过程的早期添加此行,以便“mvn clean test”通过?还是我可能做错了什么?


作为参考,这里是 pom.xml、服务和单元测试。

HelloWorld 实现类

单元测试

0 投票
1 回答
607 浏览

java - 在 PAX-Exam 测试中调试 ClassNotFound 问题

我已经编写了一个 PAX-Exam 测试,并且我确保了被测包的所有依赖项以及它的所有传递依赖项都已作为 mavenBundle 添加。现在我没有收到“捆绑未解决”类型的错误。

我还通过打印出类路径来验证被测包的 jar 是否已添加到类路径中。我采用了类路径并简单地运行 java -cp com.my.namespace.Interface ,这似乎在类路径中找到了类。

但是,当我尝试在测试中从该包访问接口时,它在运行时失败并出现 ClassNotFoundException。

我需要有关如何进一步调试的想法。

0 投票
1 回答
2393 浏览

java - Pax Exam / Karaf - 在测试设置中安装功能

我正在尝试使用 Pax Exam 集成测试 Karaf 功能,但我无法弄清楚如何在我的config()方法中安装功能。

Pax 考试是 2.6.0 版和 Apache Karaf 2.3.2 版。

这是我的配置方法:

可以安装单个捆绑包,mavenBundle("group", "artifact", "version")但似乎没有机制可以通过 Pax Exam 安装 Karaf 功能。

我能够在使用 Junit 注释的设置方法中实用地安装功能,@Before但是使用 @Inject 注入我的服务为时已晚。

config()是否可以通过 Pax 考试测试的方法安装 Apache Karaf 功能?