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

junit - java类中的多个@Test方法因java.lang.Exception而失败:没有可运行的方法

在运行 paxexam 时,我在一个类中有多个 @Test 方法,它失败并出现以下异常

以下是pax考试代码。当我运行此代码时,我得到一个异常。如果我将此注释 @ExamReactorStrategy(PerClass.class) 更改为 @ExamReactorStrategy(PerMethod.class) 则再添加一点,这将起作用,问题是测试容器在每个方法后重新启动

0 投票
1 回答
62 浏览

junit - @Before 我可以用它来初始化吗

在 pax 考试中,我希望某些东西对所有测试功能都是通用的。为此,我使用了@Before,使用@Before 方法的问题是它会在每个测试方法之前被调用。有没有办法解决这个问题。pax 考试中是否有一些注释可用于解决此问题。

0 投票
2 回答
606 浏览

java - 如何访问 Pax Exam 测试探针包中的资源?

我正在使用 Pax Exam 4.8、junit4、JBoss Fuse 作为 OSGi 容器为一些 OSGi 包开发集成测试。假设标准 Maven 设置。

容器启动,我的包已部署并正确启动。

现在在我的测试代码中,我需要加载资源并将其内容写入文件。如果我理解正确,单元测试会自动部署为测试探针包。

如何在 Pax Exam 测试中加载资源?如何检查资源是否包含在测试探针包中?

0 投票
1 回答
237 浏览

java - 动态参考捆绑包以与 Pax Exam 进行集成测试

我创建了一个OSGi 示例项目,并希望改进集成测试所需的包的供应。

现在,捆绑包是通过文件名静态引用的CoreOptions.bundle("reference:file:" + <path>),因此问题是测试将在未来某个时间失败,当 jar 的名称发生更改时(例如由于版本更改)。

有没有更好的方法来部署所需的依赖项?也许使用符号名称或组/工件ID?

ServiceTestCase.java的缩短版本

0 投票
1 回答
1065 浏览

java - Java:获取两个数组,如果一个的长度小于另一个的长度,则将缺失值替换为 1

嗨所以问题是:如果array1小于array2用数字1替换缺失值,这样array1缺失值可以乘以array2,就好像它们是数字1一样?这是我对如何去做的想法......帮助正确的语法?最好的方法是什么?

这是原始考试问题,第二部分是我遇到的麻烦:编写一个名为 add 的方法,该方法接受两个 double 类型的数组 v、w 作为其参数。该方法应返回一个新的 double 数组,该数组是通过添加输入数组的相应元素而形成的。也就是说,输出数组的元素 i 应该等于 v[i]+w[i]。

如果 v 和 w 的长度不同,则输出数组的长度应为 (v.length, w.length) 的最大值。在计算输出时,应假定较短数组的缺失元素为 1。

0 投票
1 回答
180 浏览

osgi - 如何在 pax 考试中启动和关闭第二个 OSGi 容器

我正在使用 pax 考试测试远程服务。

为此,我需要启动两个容器。一个本地运行我的测试,调用消费者,第二个运行服务,Aries RSA 和 zookeeper。

我设法通过在@Configuration 方法中调用它来启动外部容器。这似乎不属于那里,但它是我发现的唯一在 OSGi 之外执行代码的地方。

https://github.com/apache/aries-rsa/blob/master/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/tcp/TestRoundTrip.java#L47-L51

现在我需要在测试关闭时调用第二个钩子,然后我可以关闭容器。@After 或 @AfterClass 似乎都不能在 OSGi 中运行。

我也很高兴有一种更简洁的方式来启动外部容器,因为在 @Configuration 中添加它对我来说并不合适。

0 投票
2 回答
528 浏览

junit - 如何在 Apache Karaf 或 Fuse OSGi 容器中使用 junit 进行 tdd

如何使用 Junit 在 Apache Karaf / Fuse 中进行单元测试?

Red Hat 有一些关于这样做的文档,使用pax-exam,但这些似乎过时了,并且测试所需的 org.apache.karaf.tooling.testing 的最后一个版本似乎在 2011 年更新。

帮助?

0 投票
0 回答
1184 浏览

java - 捆绑接线不再对 Pax-Exam 探头有效

我在 Pax-Exam 4.8.0 和 Karaf 4.0.3 中开发了一个完美运行的测试:我最近升级了 Pax-Exam 和 Karaf,现在我正在尝试调试Pax-Exam 4.9.1卡拉夫 4.0.6

您可以在此处找到此问题的自包含示例。

在我的junit类中,我注入了以下字段:

显然,Pax-Exam 探针由于某些原因而无效,并且在我@Test上面的方法中,只要我使用捆绑上下文获取对CustomerUserStorageService服务的引用,就会收到以下错误:

老实说,我不知道为什么探测包会失效:为什么会发生这种情况?有人遇到过类似的情况吗?

相同的代码在 Pax-Exam v 4.8.0 和 Karaf 4.0.3 上运行良好。

0 投票
1 回答
142 浏览

java - 将使用插件的maven项目转换为gradle项目

我是 Gradle 新手,很困惑将 maven 代码更改为 gradle,我从ApacheKarafCookbook获取代码并想使用 gradle 作为构建工具。我尝试使用gradle init并且它不起作用。

我如何更改为gradle?

0 投票
1 回答
50 浏览

java - 如果使用@Configuration 注释了多个方法,PaxExam 究竟会做什么?

PaxExam 文档说明如下:

测试类可能包含一个或多个由@Configuration 注释的方法,返回用于配置测试容器的选项列表。

如果有多个配置方法,则为每个配置运行每个测试方法。

该文档没有说明以下两种情况(最后一种情况确实更重要):

  • 如果其中两个或多个方法返回设置相同属性的选项怎么办?是否定义了排序?哪个优先?
  • 如果基类和子类中都有@Configuration 方法怎么办?子类中的重复设置会覆盖基类中的设置吗?

我知道我可以这样做,看看会发生什么,但我需要保证,而不是猜测。