2012-05-25 3 views
1

Robotium 테스트에 몇 가지 문제가 있습니다. 나는 각각 2 ~ 3 가지 방법을 가진 3 가지 테스트 클래스를 가지고 있습니다. 그들은 모두 Android Life Cycle에서 다양한 활동을 테스트합니다. 내가 찾는 문제는 테스트 A가 A의 버튼을 누르면 테스트가 통과 한 다음 끝나는 다음 활동에 인 텐트가 호출된다는 것입니다. 그런 다음 테스트 B가 활동을 시작하려고합니다. 나는 시험 A의 활동이 아직 살아 있다는 것을 알았다. 나는 이것을 사용하여 문제를 해결하려고 노력했다. 활동이 유휴 상태가 될 때까지 장치가 대기 한 다음 비활성 활동을 종료 할 것이라는 아이디어가 있습니다. 그런 다음 나는 열리고 떠난 것들을 끝낼 것입니다.Robotium 활동 누출로 인해 다른 테스트에서 잘못된 활동이 발생했습니다.

getInstrumentation().waitForIdleSync(); 
solo.finishInactiveActivities(); 
solo.finishOpenedActivities(); 

100 %이 문제를 해결하는 가장 좋은 방법인지 잘 모르겠습니다. 나는 그것이 80 %의 시간 동안 작동한다는 것을 알아 챘지만 여전히 약간의 누출을 얻고있다.

답변

1

나는 solo.goBack();를 사용하여 문제를 해결했습니다. 함수 호출. 이렇게하면 열려있는 모든 활동이 종료되므로 테스트 도중 활동이 누출되지 않습니다. 마찬가지로 위의 코드를 이중 커버로 사용했습니다. 수많은 장치 및 시나리오에서 이러한 테스트를 반복 한 후 통과 한 것 같습니다.