시나리오 :AsyncTask 및 UI 업데이트 솔루션으로 안드로이드 유닛 테스트
내 응용 프로그램의 onClick 처리기를 단위 테스트하려고합니다. Onclick은 REST API에 대해 간단한 검색을 수행하고 결과를 반환하며 UI를 업데이트합니다.
세부 사항 :
온 클릭은 AsyncTask를을 실행는 doInBackground는 REST API를 쿼리하고 결과를 반환합니다. onPostExecute는 결과를 가져 와서 새 ListAdapter를 데이터와 함께 ListView에 할당합니다.
문제 : 같은 UI 스레드와 차단 통화 이후
onPostExecute는 테스트 러너에 의해 호출되지 않습니다. 이것을 다루기위한 몇 가지 패턴이 있습니다. 그러나 AsyncTask를 Runnable에 넣고 LatchCountdown을 사용하여 결과를 기다리면 CalledFromWrongThread Exception이 발생합니다.
UI 업데이트를 수행하는 AsyncTask의 단위 테스트에 대한 좋은 해결책이 있습니까? 아니면 내가 구현할 수있는 더 테스트 할 수있는 디자인?
이것은 ActivityInstrumentationTestCase와 비슷합니다. – dmon
ActivityInstrumentationTestCase2 클래스에서이 작업이 수행되고 있습니다. – bcdennis72
asynctask가 잘 실행되어야합니다 ... – dmon