2013-06-15 3 views
0

У меня есть активность с ListView и CustomCursorAdapter, теперь я хочу автоматизировать тестирование. Каждая вещь в порядке, но когда в адаптере нет записи, на экране теперь отображается диалоговое окно Alert Dialog, проблема заключается в том, что я не могу получить доступ к диалоговому окну предупреждения о тестировании активности (тестовый пример Android) и не способен обрабатывать предупреждение диалоговое событие на тестовой основе, сэр, пожалуйста, помогите мне в этом отношении. заранее спасибо.Проверка тестового теста Android

Диалог создать код.

@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 написан на тестовой операции и через JUnit, как я обрабатываю события alertDialog –

ответ

0

С немного рефакторинга вы могли бы использовать BoundBox для доступа к закрытому состоянию вашей деятельности.

Например, поместите весь код внутри своих слушателей в частные методы вашей деятельности и протестируйте их, используя макет, чтобы увидеть, правильно ли получены намерения.