2013-06-15 5 views
0

ListView 및 CustomCursorAdapter에 대한 활동이 있으므로 테스트를 자동화하고 싶습니다. 모든 것은 괜찮지 만 어댑터에 레코드가 없으면 경고 대화 상자가 화면에 표시됩니다 문제은 활동 테스트 (안드로이드 테스트 케이스)에서 경고 대화 상자에 액세스 할 수 없어 경고를 처리 할 수 ​​없다는 것입니다. 테스트 프레임 워크에서 대화 상자 이벤트, 제발 날이 점에 대해 도와주세요. 미리 감사드립니다.Android 테스트 사례 활동 테스트

대화 코드 생성. 당신이 당신의 활동의 개인 상태에 액세스 할 수 BoundBox를 사용할 수있는 리팩토링의 조금으로

@Override 
protected Dialog onCreateDialog(int id){ 

    String msg = null; 
    switch(id){ 
    case CALL_SETTING: 
     builder = new AlertDialog.Builder(this); 
     builder.setTitle("CIH - HELP");   
     msg = "Please Allow me to guide you Configure this fresh CIH-MA.";     
     builder.setMessage(msg); 
     builder.setCancelable(true); 
     builder.setPositiveButton("OK", new settingOnClickListener()); 
     builder.setNegativeButton("Cancel", new cancelOnClickListener()); 
     alDialog = builder.create(); 
     alDialog.show(); 
     break; 
    case CALL_SITE: 
     builder = new AlertDialog.Builder(this); 
     builder.setTitle("CIH - HELP"); 
     msg = "Please press 'Site' button to Add new Site for Monitoring and Controling Device "; 
     builder.setMessage(msg); 
     builder.setCancelable(true); 
     builder.setPositiveButton("OK", new siteOnClickListener()); 
     builder.setNegativeButton("Cancel", new cancelOnClickListener()); 
     alDialog = builder.create(); 
     alDialog.show(); 
     break; 
    } 
    return super.onCreateDialog(id); 

} 
private final class settingOnClickListener implements DialogInterface.OnClickListener{ 

    @Override 
    public void onClick(DialogInterface dialog, int which) { 
     // TODO Auto-generated method stub 
     ZigbeeActivity.this.startActivity(new Intent(ZigbeeActivity.this,AboutScreen.class));   
    }  
} 
private final class cancelOnClickListener implements DialogInterface.OnClickListener{ 
    @Override 
    public void onClick(DialogInterface dialog, int which) { 
     // TODO Auto-generated method stub 

    }  
} 
private final class siteOnClickListener implements DialogInterface.OnClickListener{ 

    @Override 
    public void onClick(DialogInterface dialog, int which) { 
     // TODO Auto-generated method stub 
     Intent LocationIntent = new Intent(ZigbeeActivity.this,SelectLocation.class); 
     LocationIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TOP); 
     ZigbeeActivity.this.startActivity(LocationIntent); 
    }  
} 
+0

변경 AlertDialog.Builder (this); AlertDialog.Builder (Activity.this); – TheFlash

+0

실제로이 AlertDialog.Builder 코드는 Testing Activity와 JUnit을 통해 alertDialog 이벤트를 처리하는 방법을 설명합니다. –

답변

0

.

예를 들어, 활동의 개인 메소드 안에 모든 코드를 리스너에 넣고 모의 컨텍스트를 사용하여 의도를 올바르게 수신했는지 테스트하십시오.