JUnitTest를 작성하여 Karaf 서버가 올바르게 시작되고 모든 (필요한) 번들이 설치되고 활성화되도록합니다.Karup Startup 용 JUnitTest
나는이 주어진 번들이 주어진 상태에 있음을 보장하는 도우미 메소드 "assertBundleState"를 호출하는 테스트를 가지고있다. 테스트 결과는 다음과 같습니다 :
@Test (timeout=30000L)
public void testBundlesStarted() throws Exception {
assertBundleState("bundle.Name", BundleLifecycleState.Active);
... <other bundles in similar way>
}
이것은 과거에는 문제가 없었습니다. 타임 아웃에 도달하지 못했습니다.
불행히도 이제 시작을 위해 조금 더 오래 필요로하는 번들을로드해야합니다. 테스트가 실행될 때 번들이 아직 시작되지 않았습니다. 그래서 테스트가 실패합니다.
BeforeClass 메서드에서 수면을 시도했지만이 솔루션에 만족하지 않습니다. 왜냐하면 주어진 수면 시간이 매 시간마다 모든 기계에 충분하다는 것을 보장 할 수 없기 때문입니다. 그래서 Karaf와 상호 작용할 수있는 이벤트 기반 솔루션을 찾고 있습니다.
@BeforeClass
public static void init() throws Exception {
Thread.sleep(120000L);
}
아무도 내가 더 나은 방법으로 어떻게 해결할 수 있을지 생각하지 못합니까? 감사합니다.