2016-08-18 9 views
0

시험은 ActivityA에서 ActivityB을 시작하고 ActivityA을 닫습니다. 어떻게 그 ActivityA가 파괴되었는지 테스트? 나는 isFinishing() 또는 isDestroyed()을 확인하기 위해 IdlingResource을 만들었으며 사용자 정의 ActivityTestRule에서 부울을 모니터링했지만 결코 호출되지 않고 시간이 초과되었습니다.에스프레소 onDestroy 활동을 기다리는 중

intended/hasComponent을 사용하여 ActivityB이 생성되면 확인하려고했으나 perform(click()) 바로 뒤에 전화하면 false를 반환합니다.

모든 애니메이션/전환이 꺼져 있습니다.

답변

1

나는 onDestroy가 호출되고 있는지 확인하기 위해 Espresso를 사용하지 않을 것입니다. Espresso를 사용하여 버튼을 클릭하면 다른 활동이 시작되거나 불량 데이터를 입력하고 제출을 누르면 오류가 표시되고 화면에 표시되는 것과 같은 더 높은 수준의 테스트를 수행해야합니다.

onDestroy를 테스트 할 때 단위 테스트에서이를 수행하고 Robolectric와 같은 것을 사용할 수 있습니다.

+0

또한 'ActivityB'의 UI 구성 요소가 표시되는지 테스트하려고했지만 일관성이 없습니다. 때로는 실패합니다. – mbmc

+1

그 점을 유감스럽게 생각합니다. 그러나 다시 한번, 나는 에스프레소로'onDestroy'를 테스트하지 않을 것입니다. – CodyEngel

관련 문제