我正在開發使用Pax Exam 4.8,junit4,JBoss Fuse作爲OSGi容器的一些OSGi bundle的集成測試。假設標準的Maven設置。如何訪問Pax Exam考試測試套件中的資源?
容器啓動,我的包已部署並正確啓動。
現在在我的測試代碼中,我需要加載資源並將其內容寫入文件。 如果我理解正確,單元測試會自動部署爲測試探針包。
@RunWith(PaxExam.class)
@ExamReactorStrategy(PerMethod.class)
public class ExampleTest {
@javax.inject.Inject
BundleContext bundleContext;
@Configuration
public Option[] config() throws Exception {
// container setup
}
@Test
public void testThatApplicationProcessesThisFile() {
InputStream is1 = getClass().getResourceAsStream("myResource"); // returns null
Bundle probeBundle = bundleContext.getBundle("local");
InputStream is2 = probeBundle.getResource("myResource").openStream();
// getResource() returns null
// write the resource as a file
}
}
如何在Pax Exam考試中加載資源?如何檢查資源是否包含在測試探針包中?