2014-09-16 3 views
0

일반적으로 테스트를 끝내면 테스트가 끝난 후 앱이 종료됩니다. 하지만 내 경우에는 몇 가지 백그라운드 서비스 (클라우드 동기화)를 실행하므로 서비스가 완료 될 때까지 앱을 종료하지 않으려 고합니다. 제가Robotium Android 테스트가 완료된 후 앱이 중지되는 것을 방지하는 방법.

어떤 시도

은 분해에

제가

방법을

solo.finishOpenedActivities()를 제거한다; 및 super.tearDown();

public void tearDown() throws Exception { 
    //solo.finishOpenedActivities(); 
    //super.tearDown(); 
} 

그러나 여전히 앱을 죽입니다.

솔루션이 필요합니다.

1> 테스트가 완료된 후 앱을 종료하지 마세요.

또는

2 - 백그라운드 서비스가 작업을 완료 한 후>는 응용 프로그램을 죽여.

미리 감사드립니다.

+0

서비스가 살아있는 동안 하나의 테스트를 실행 하시겠습니까? 이것은 내가 생각하는 것보다 의미가 있습니다. – Snicolas

+0

최상의 솔루션은 solo.waitForCondition()입니다. 조건의 isSatisfied 메소드는 서비스가 끝난 후에 만 ​​true를 리턴해야합니다. 이전 질문에 대한 답변보기 http://stackoverflow.com/a/25857889/1664038 –

답변

0

당신이 당신의 백그라운드 서비스는 아직 테스트가 항상 완료 확인 얻을 어쩌면 시간 제한, 삶으로 하나 개의 테스트는해야 다음, 오래 살고 싶은 경우 테스트 내부

  • 결합 서비스에
  • 는 서비스 완료를 듣고, 이것은 당신이 당신이 서비스를 확실히 얻을 수 CountDownLatch를 사용할 수 있습니다
  • 서비스에서 이벤트를받을 때 그것에서
  • 바인딩 해제 바인더를 통해 서비스의 라이프 사이클의 notfied 할 수 있어야 의미 너의 일을 제대로 끝내라. 동부 표준시.
+0

감사합니다. 테스트가 완료된 후 앱이 중지되는 것을 어떻게 방지 할 수 있습니까? 나는 테스트가 끝난 후 앱을 죽이고 싶지 않다는 말은 내 모든 문제를 해결할 것입니다. –

+0

Robotium을 사용하는 방법을 알지 못하기 때문에 좋은 연습이라고 생각하지 않습니다. 내가 줄 수있는 최선의 조언은 나의 대답에있다. – Snicolas

+0

도와 주셔서 감사합니다. 문제가 생기면 다시 시도해 볼게. –