@Before我可以用它进行初始化

时间:2016-02-16 07:36:31

标签: junit osgi apache-karaf karaf pax-exam

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

@Before
    public void init() throws Exception{
        featuresService.installFeature("hibernate");
        featuresService.installFeature("hibernate-validator");
        bundleContext.installBundle("wrap:mvn:osgi/osgi/3.0.1").start();
        bundleContext.installBundle("wrap:mvn:javax.xml/xml/3.1.0").start();
        bundleContext.installBundle("wrap:mvn:commons-dbcp/commons-dbcp/1.2.2").start();
        bundleContext.installBundle("wrap:mvn:commons-pool/commons-pool/1.3").start();
        bundleContext.installBundle("wrap:mvn:commons-lang/commons-lang/2.3").start();
    }

1 个答案:

答案 0 :(得分:2)

现在不可能在PaxExam的测试中运行此类行为,但init方法可以很容易地被Option替换为您的容器的配置。

例如:

features(maven().groupId("org.apache.karaf.assemblies.features")
       .artifactId("enterprise").type("xml").classifier("features")
       .versionAsInProject(), "hibernate", "hibernate-validator")

 wrappedBundle(mavenBundle("commons-dbcp", "commons-dbcp", "1.2.2"))