问题标签 [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 投票
2 回答
558 浏览

maven - pax-exam:测试是否在捆绑包中运行?

我有一个 Maven 项目,它构建了一个非常简单的 OSGi 包。无活化剂;它唯一的工作就是为 OSGi 项目提供一些共享代码。我想测试我是否已经正确设置并嵌入了所有依赖项。

因此,我在这种情况下添加了 pax-exam。

我将在最后粘贴一个单元测试外壳。我的 @Test 方法实际上是否在一个包中运行,而该包又取决于我的项目中构建的包?

0 投票
1 回答
587 浏览

junit - 蓝图 - 使用 Pax 考试进行单元测试 - 无法解决依赖关系

我们正在将基于 spring 的骆驼应用程序迁移到基于蓝图的骆驼应用程序。我们也在迁移到 fuse 6.1 版本。我正在使用Pax Exam 和 Junit runner 以及 apache felix 容器来执行我的单元测试。我面临与 ehcache 管理器相关的未解决捆绑问题的问题。我尝试将所需的依赖项提供给 pax 配置作为 mavenBundle 但没有任何运气。异常没有提供有关缺少依赖项的详细信息,而是仅提供包的一般错误,即“osgi.wiring.package=net.sf.ehcache”。
我在 pom.xnl 中给出了必要的依赖,而 Eclipse 没有显示任何错误。下面是 Junit 中使用的配置。

'@Configuration 公共选项[] config() {

我正在附加日志如下

0 投票
2 回答
1298 浏览

maven - Pax Exam 4 和多个 Maven 存储库无法正常工作

我正在尝试运行一个非常基本的 Pax Exam 4 单元测试,但它需要访问多个 Maven 存储库(不是 Maven Central)。这是代码:

实际的测试是微不足道的,但只是为了测试目的,所以不要介意(回购和库也只是为了测试目的而选择的)。问题是上述方法不起作用,Pax Exam 抱怨存储库 URL 无效。运行此测试时的输出如下:

如您所见,由于某种原因,“+”被添加到第二个 URL 前,这会导致 MavenConfigurationImpl 中出现异常。奇怪的是,当我调试代码时,第一个 URL 也有一个“+”,但是那个被 Pax 代码删除了。但是,第二个不会被剥离,然后在将字符串传递给 MavenRepositoryURL 构造函数时导致 MalformedURLException:

现在这对我来说似乎是一个错误,但我真的不能相信这样一个基本选项(能够处理多个 Maven 存储库)不起作用,所以我可能做错了什么。所以,我的问题是:如何让 Pax Exam 从多个 Maven 存储库下载 Maven 包?

另外:如果您只添加 1 个存储库,一切正常,并且是否使用 repositories() 方法都没有关系。如果您像这样多次使用 repository() 方法,结果是相同的:

在显示我正在使用的依赖项(和版本)的 POM 片段下方:

0 投票
1 回答
800 浏览

pax-exam - Pax Exam: resolving project dependencies with bundles and wrapped bundles

I'm aware of this answer: Pax Exam: provisioning bundle with all dependencies But it feels like I'm doing something wrong when I have to include bundles that are part of bundles that are external to my project.

Here is the error I'm getting:

Here is my configuration code for my pax exam test:

So my questions are: why am I getting the error about unresolved constraints, do I have to include even external bundles, and what do I need to do to get my tests to run?

0 投票
1 回答
320 浏览

deployment - Pax Exam 如何启动多个容器

对于我正在进行的项目,我们有必要编写在多个 Karaf 容器上运行的 PaxExam 集成测试。

这个想法是找到一种方法来扩展/配置 PaxExam 以启动一个 Karaf 容器(或更多)并在那里部署一系列捆绑包,然后启动测试 Karaf 容器,然后测试该功能。

我们需要它来验证性能测试和其他事情。

有人知道吗?这在 PaxExam 中真的可能吗?

0 投票
1 回答
453 浏览

maven - 使用 OSGi R6 框架(Equinox 3.10.x、Felix 4.6.x)的 Pax 考试测试失败

我使用 Equinox 3.10.1.v20140909-1633 和 Felix 4.6.1 将我的构建迁移到 OSGi R6。不幸的是,Pax Exam 测试在这两个框架中都失败了。我正在使用 Pax Exam 4.4.0。

在 Equinox 3.10.1.v20140909-1633 上执行的测试:

在 Felix 4.6.1 上执行的测试:

我使用 Equinox 3.9.1.v20130814-1242 和 Felix 4.4.1 恢复了我的更改并使用 OSGi R5 执行了 Pax Exam 测试。一切都按预期工作。

Pax Exam 是否对 OSGi R6 框架实现有问题?

更新

我正在使用@ExamReactorStrategy(PerMethod.class)并且所有运行都失败了,除了第一个。第一次运行总是成功。我已经尝试了选项keepCachescleanCaches,但它没有帮助。为什么问题只出现在 R6 框架实现中?有修复或解决方法吗?

0 投票
0 回答
95 浏览

pax-exam - 使用 CoreOptions.bundle 与 CoreOptions.mavenBundle 时性能不佳

我发现当我使用 org.ops4j.pax.exam.CoreOptions.mavenBundle 从 maven 存储库部署包时,部署时间不到一分钟,但是当我使用 org.ops4j.pax.exam.CoreOptions 部署相同的包时.bundle,指定文件:本地文件系统上捆绑包的 url,部署需要 8 分钟以上。我预计 CoreOptions.bundle 会更快,因为它正在访问本地文件。使用 CoreOptions.bundle 时,我可以做些什么来加快部署速度?

以下是我正在使用的版本:

这是我用来从文件系统部署包的代码:

这是我从 maven repo 部署相同包时使用的代码:

0 投票
1 回答
395 浏览

java - Pax-exam 4 没有 felix() 方法

我一直在使用 Pax Exam 3.3.0 在 EclipseLink 项目中使用以下代码片段进行 OSGi 测试:

现在,我们将构建切换到 JDK 8,我使用的是 Pax Exam 4.4.0,因为 Pax Exam 3.x 不使用 JDK 8 构建。我的问题是 Pax Exam 4 不再提供方便的 org.ops4j.pax。 Exam.CoreOptions.felix() 方法。我该如何解决这个问题?我的目标是以尽可能少的配置运行 OSGi 测试。

如果我删除 felix() 方法,我会收到以下错误:

谢谢

0 投票
1 回答
390 浏览

rest - PAX 考试集成测试 REST 客户端调用 REST 服务失败,原因是:java.net.SocketTimeoutException:读取超时

我有一个集成测试,它将一个休息客户端注入到测试类中。当那个休息客户端调用由同一个 pax 考试测试容器托管的休息服务时,一切都会停止大约一分钟,直到我得到一长串套接字读取超时异常和连接被拒绝异常。如果我注入一个在另一个容器中调用休息服务的休息客户端,一切正常。似乎没有给其余服务一个线程来执行。如果我手动启动 pax 考试容器,我可以验证其余服务是否已正确启动。如果我将 OSGi 服务注入测试类,一切正常。使用 PaxExam 3.6 和 Apache ServiceMix (4.5.3)

堆栈跟踪:

0 投票
0 回答
48 浏览

jbehave - 将 PAX-EXAM 与 JBehave 集成时出错

当我尝试使用 Jbehave java.lang.ClassNotFoundException 启动基于 PAX-EXAM 的测试时出现此错误: org.jbehave.core.embedder.Embedder not found by PAXEXAM-PROBE

Karaf 版本:3.0.0 PAX-EXAM:3.4.0 org.apache.felix.framework:4.2.1 Junit:4.11 jbehave-core:3.9.5

@RunWith(PaxExam.class) 公共类 HMStoryRunner 扩展 AbstractTest {