0

这适用于 Pax Exam 本机容器(Pax Exam 2.3.1),但不适用于 Pax Exam Karaf 容器(0.5.2):

@Configuration
public Option[] config() {
    return options(
            // karafDistributionConfiguration()
            // .frameworkUrl(
            // maven().groupId("org.apache.karaf")
            // .artifactId("apache-karaf").type("zip"))
            // .karafVersion("2.2.6").name("Apache Karaf"),
            provision(bundle("reference:file:/path/to.jar")));
}

检查捆绑包是否已安装的测试:

@Inject
BundleContext bundleContext = null;

@Test
public void sameRepositoryProvidesFBServiceAndUserService() {
    for (Bundle b : bundleContext.getBundles()) {
        if (b.getSymbolicName().equals(myBundleName)) {
            return;
        }
    }
    fail("Bundle " + myBundleName + " not found");
}

如果我取消注释karafDistributionConfiguration并替换bundle(url)mavenBundle(groupId, artifactId),则测试会在 Pax Exam Karaf 下再次通过。有可能解决吗?我需要使用bundle在我的工作区中针对捆绑包的开发版本运行测试。

4

1 回答 1

0

原来是时间问题,在 0.5.3 中修复。

于 2012-04-20T09:47:42.137 回答