2013-08-02 1 views
0

doInBackground()AsyncTask 순차적으로 실행되는지 여부를 테스트해야하는 요구 사항이 있습니다.AsyncTask의 doInBackground 메서드가 순차적으로 실행되는지 여부를 테스트하는 방법

if (CONDITION) { 
    new XyzAsyncTask().execute(); 
} 

private class XyzAsyncTask extends AsyncTask<Void, Void, Void> { 

    @Override 
    protected Void doInBackground(Void... params) { } 

} 

내 의심의 여지가 2 배 이상 조건에 해당하는 경우에도, doInBackground() 순차적으로

편집을 실행해야 (단위 테스트하거나 인쇄 문)을 테스트하는 방법입니다 : 문제는, 제 경우에는 doInBackground가 작업을 완료하지 않았을 때도 onPost가 실행 중입니다. doInBackground가 완전히 실행되기 전에 어떻게 우리가 onPost를 피할 수 있을까요?

+0

이것은 새로운 XyzAsyncTask(). execute();를 호출 한 횟수에 따라 다릅니다. for 또는 while 루프 (또는 어떤 종류의 루프)에 없으면 한 번만 실행해야합니다. 'doInBackground'에'Log'를 추가하여 프로세스가 몇 번지나 갔는지 확인할 수 있습니다. – g00dy

+0

조건이 2 번 이상 true인지 확인하려면 코드를 디버그해야합니다. – Andrain

답변

1

사용이 :

Log.d("ASSERT", "Add your own message to yourself here"); 

장소 당신이 발생할 때 프로그램의 작동에 대해 배우고 싶은 곳은. 이렇게하면 LogCat에 메시지 "ASSERT"가 첨부 된 메시지가 인쇄됩니다. 데이터 또는 변수 값을 보려면 문자열을 문자열로 변환하고 연결하여 유용한 로그 메시지를 만듭니다.

관련 문제