问题标签 [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.
junit - java类中的多个@Test方法因java.lang.Exception而失败:没有可运行的方法
在运行 paxexam 时,我在一个类中有多个 @Test 方法,它失败并出现以下异常
以下是pax考试代码。当我运行此代码时,我得到一个异常。如果我将此注释 @ExamReactorStrategy(PerClass.class) 更改为 @ExamReactorStrategy(PerMethod.class) 则再添加一点,这将起作用,问题是测试容器在每个方法后重新启动
junit - @Before 我可以用它来初始化吗
在 pax 考试中,我希望某些东西对所有测试功能都是通用的。为此,我使用了@Before,使用@Before 方法的问题是它会在每个测试方法之前被调用。有没有办法解决这个问题。pax 考试中是否有一些注释可用于解决此问题。
java - 如何访问 Pax Exam 测试探针包中的资源?
我正在使用 Pax Exam 4.8、junit4、JBoss Fuse 作为 OSGi 容器为一些 OSGi 包开发集成测试。假设标准 Maven 设置。
容器启动,我的包已部署并正确启动。
现在在我的测试代码中,我需要加载资源并将其内容写入文件。如果我理解正确,单元测试会自动部署为测试探针包。
如何在 Pax Exam 测试中加载资源?如何检查资源是否包含在测试探针包中?
java - 动态参考捆绑包以与 Pax Exam 进行集成测试
我创建了一个OSGi 示例项目,并希望改进集成测试所需的包的供应。
现在,捆绑包是通过文件名静态引用的CoreOptions.bundle("reference:file:" + <path>)
,因此问题是测试将在未来某个时间失败,当 jar 的名称发生更改时(例如由于版本更改)。
有没有更好的方法来部署所需的依赖项?也许使用符号名称或组/工件ID?
ServiceTestCase.java的缩短版本
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。
osgi - 如何在 pax 考试中启动和关闭第二个 OSGi 容器
我正在使用 pax 考试测试远程服务。
为此,我需要启动两个容器。一个本地运行我的测试,调用消费者,第二个运行服务,Aries RSA 和 zookeeper。
我设法通过在@Configuration 方法中调用它来启动外部容器。这似乎不属于那里,但它是我发现的唯一在 OSGi 之外执行代码的地方。
现在我需要在测试关闭时调用第二个钩子,然后我可以关闭容器。@After 或 @AfterClass 似乎都不能在 OSGi 中运行。
我也很高兴有一种更简洁的方式来启动外部容器,因为在 @Configuration 中添加它对我来说并不合适。
junit - 如何在 Apache Karaf 或 Fuse OSGi 容器中使用 junit 进行 tdd
如何使用 Junit 在 Apache Karaf / Fuse 中进行单元测试?
Red Hat 有一些关于这样做的文档,使用pax-exam
,但这些似乎过时了,并且测试所需的 org.apache.karaf.tooling.testing 的最后一个版本似乎在 2011 年更新。
帮助?
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 上运行良好。
java - 将使用插件的maven项目转换为gradle项目
我是 Gradle 新手,很困惑将 maven 代码更改为 gradle,我从ApacheKarafCookbook获取代码并想使用 gradle 作为构建工具。我尝试使用gradle init并且它不起作用。
我如何更改为gradle?
java - 如果使用@Configuration 注释了多个方法,PaxExam 究竟会做什么?
PaxExam 文档说明如下:
测试类可能包含一个或多个由@Configuration 注释的方法,返回用于配置测试容器的选项列表。
如果有多个配置方法,则为每个配置运行每个测试方法。
该文档没有说明以下两种情况(最后一种情况确实更重要):
- 如果其中两个或多个方法返回设置相同属性的选项怎么办?是否定义了排序?哪个优先?
- 如果基类和子类中都有@Configuration 方法怎么办?子类中的重复设置会覆盖基类中的设置吗?
我知道我可以这样做,看看会发生什么,但我需要保证,而不是猜测。