使用Pax-Exam进行的OSGi测试失败,没有发现容器错误。
这是因为我将java 7升级为java 8,并因此不得不更改pax-exam-2.3.0。jar(与java 8不兼容)到pax-exam-4.4.0。罐子以及他们的另一种依赖。在前面的配置中,我们曾经编写felix(),但现在已经改变了。
现在如何启动felix容器?
配置:
@RunWith(PaxExam.class)
@ExamReactorStrategy(PerMethod.class)
public class GibsonMiniAGLTest
{
@Configuration
public Option[] config() {
return options(
vmOption("-Dcom.sun.management.jmxremote"),
systemPackages("sun.misc",
"sun.security.util",
"sun.security.x509",
"com.sun.media.imageioimpl.plugins.jpeg2000"
),
bootDelegationPackages(
"sun.misc.*",
"com.sun.*"
),
bundle("abc.jar"),
junitBundles()
);
}
}
Ant文件:
<target name="run_STOSGI">
<property file="build/jamunTimeOut.properties"/>
<echo message="Calculated TimeOut for Jamun_Tests in MilliSeconds = ..........." />
<echo message="${timeout}" />
<junit printsummary="yes" showoutput="yes" timeout="${timeout}" haltonfailure="on" maxmemory="256M" fork="on">
<jvmarg value="-Dorg.xml.sax.driver=${saxParser}" />
<classpath>
<pathelement path="${jamun.path}" />
<pathelement path="${junit.path}" />
<pathelement path="${jar}/core.jar" />
</classpath>
<formatter type="xml" />
<sysproperty key="BAT_PLUGIN" value="${BAT_PLUGIN}"/>
<test name="com.adobe.gibsontests.SmokeTestOSGIosgi" />
</junit>
<move todir="${smokeTest_Location}" failonerror="false" overwrite="true" >
<fileset dir="${smoketest_temp}"/>
</move>
</target>
堆栈跟踪:
<testcase classname="com.adobe.gibsontests.SmokeTestOSGIosgi" name="initializationError" time="0.004">
<error message="No TestContainer implementation in Classpath" type="org.ops4j.pax.exam.TestContainerException">org.ops4j.pax.exam.TestContainerException: No TestContainer implementation in Classpath
at org.ops4j.pax.exam.spi.PaxExamRuntime.sanityCheck(PaxExamRuntime.java:266)
at org.ops4j.pax.exam.spi.PaxExamRuntime.getTestContainerFactory(PaxExamRuntime.java:79)
at org.ops4j.pax.exam.spi.reactors.ReactorManager.createsTestContainerFactory(ReactorManager.java:325)
at org.ops4j.pax.exam.spi.reactors.ReactorManager.createReactor(ReactorManager.java:302)
at org.ops4j.pax.exam.spi.reactors.ReactorManager.prepareReactor(ReactorManager.java:181)
at org.ops4j.pax.exam.junit.impl.ProbeRunner.<init>(ProbeRunner.java:78)
at org.ops4j.pax.exam.junit.PaxExam.createDelegate(PaxExam.java:82)
at org.ops4j.pax.exam.junit.PaxExam.<init>(PaxExam.java:73)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
有人能指出我遗漏了什么吗?
我试着在单机版上运行pax考试,但也失败了,错误是:org。ops4j。圣像牌。考试TestContainerException:没有服务组织。奥斯基。框架发射在类路径上的META-INF/services中找到FrameworkFactory
由于错误消息指出“类路径中没有测试容器实现”。您需要将容器实现放到类路径上。
有两种选择。最基本的是:
1.:
<dependency>
<groupId>org.ops4j.pax.exam</groupId>
<artifactId>pax-exam-container-native</artifactId>
<scope>test</scope>
</dependency>
2.:
<dependency>
<groupId>org.ops4j.pax.exam</groupId>
<artifactId>pax-exam-container-forked</artifactId>
<scope>test</scope>
</dependency>
还有一些更复杂的,如卡拉夫集装箱等。
我正在使用以下版本的VSCode: 使用Python扩展version。唯一安装的PIP是: 我试图在vscode中调试python测试,在调试控制台中出现以下错误: 测试本身在终端上运行良好。换句话说,找不到“缺失”模块没有问题。例子: 我启动调试器的方式是单击给定测试的链接。例子: 下面是配置: 有人知道我在配置方面缺少什么吗?
我正在尝试在linux上运行mocha测试 错误:未找到测试文件:“test/”npm ERR!测试失败。详见上文。 这是我的包 使用的命令:npm install--global mocha npm i并运行我正在使用npm test的测试 项目结构:
问题内容: 目前,作为大学最后一年项目的一部分,我正在开发一个新的版本控制系统。这个想法是使其具有高度的适应性和可插拔性。 我们正在使用OSGi框架(Equinox实现)来管理我们的插件。我的问题是我找不到测试OSGi捆绑包的简单易用的方法。 当前,我必须使用Maven构建捆绑软件,然后执行测试工具。我正在寻找类似Eclipse的JUnit测试运行程序之类的东西,因为它可以节省大量时间。 有没有一
我正在升级我们现有的解决方案。NET 4.6.1,并且在服务器构建期间无法运行我们的单元测试。在本地,它们按预期运行,并将框架版本翻转回。Net 4.5.1使它们在服务器上再次运行。 我得到以下错误: 未发现测试。确保安装的测试发现者 我在一个更简单的设置中重现了该问题: 使用一个C#单元测试项目和两个测试(一个失败,一个通过)的解决方案
我们已经为spark编写了单元测试,在本地模式下有4个线程。 当一个接一个地启动时,例如通过intellij或sbt testOnly,每个测试都运行良好。 当用sbt测试启动时,它们会出现如下错误 我们使用的是一个带有多个子项目的sbt项目,其定义如下: