2012-08-25 3 views
0

누구나 나를 도울 수 있습니다. 나는 textview 텍스트 변경을 기다리는 내 testcases 수면 싶지만, Thread.sleep() 작동하지 않을 것 같습니다!몇 가지 결과를 얻기 위해 안드로이드 테스트 계측 테스트 케이스를 몇 번 대기하게하는 방법은 무엇입니까?

backgroud : ActivityUnitTestCase를 사용하여 내 활동 중 하나를 테스트합니다. 아래는 테스트 케이스입니다. 로그에서 변경된 텍스트를 가져올 수 없습니다. 에 대해 어떻게

public void testCanStartup() throws Exception{ 
    m_activty = startActivity(m_intent, null, null); 
    assertNotNull(m_activty); 

       //get textview to check the view text's changes when oncreate and onresume 
    TextView mem_percentview= (TextView) m_activty.findViewById(cn.opda.a.phonoalbumshoushou.R.id.mem_percent); 

    Thread.sleep(50000); 
    getInstrumentation().callActivityOnResume(m_activty); 
    Log.v(DEBUGTAG,"mem text result is : " + mem_percentview.getText().toString()); 
    TextView actual_mempercentview = (TextView) m_activty.findViewById(cn.opda.a.phonoalbumshoushou.R.id.mem_percent); 
    assertEquals(mem_percentview.getText().toString(),actual_mempercentview.getText().toString()); 

} 

답변

0

: 귀하의 제안에 대한

mem_percentview.addTextChangedListener(new TextWatcher() { 
     @Override 
     public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { 
     } 

     @Override 
     public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { 
      Log.v(DEBUGTAG,"mem text result is : " + charSequence; 
     } 

     @Override 
     public void afterTextChanged(Editable editable) { 
     } 
    }); 
+0

덕분에, 작동 할 수없는 것, 내 테스트 대상 응용 프로그램에 어쩌면하여 여러개의 스레드의 문제를 생각한다. 이 액티비티는 수신기가 시스템 메모리 정보를 계산하기 시작할 것이기 때문입니다. 활동 스레드로 데이터를 되돌려 보냅니다. 난 여전히 코드에서 아무것도 얻을 수 없다 : ( – user1624097