тестирование Android на ActiveResult - PullRequest
1 голос
/ 08 февраля 2012

Я ищу решение для получения моего теста (который фактически является ActivityInstrumentationTextCase2), проверяющего метод onActivityResults моей Деятельности со специальным (фиктивным) кодом запроса / результата и намерением ...

Код: Метод должен быть проверен:

 @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        switch (requestCode) {
        //In this case the user selected an image from his harddrive
        case StartupActivity.PICK_IMAGE:
            if (resultCode == Activity.RESULT_OK) {
                this.processSelectedFile(data.getData());
            }
            break;
        }
    }

тестовый класс:

public void testOnActivityResult() {
        //here I would like to call the onActivityResult method from my mActivity object.
    }

1 Ответ

0 голосов
/ 08 февраля 2012

Чтобы протестировать защищенного члена, объявите (в своем тестовом проекте) новый класс, производный от вашей цели:

public class TestMyActivity : MyActivity
{

  //constructors

   public void testOnActivityResult(int requestCode, int resultCode, Intent data) { 
       //call super one
       super.onActivityResult(requestCode, resultCode, data);
   }

}

Теперь в вашем тесте создайте один из них, и вы можете вызвать метод.

Источник идеи:

http://codebetter.com/karlseguin/2009/08/19/testing-protected-methods-is-easy/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...