Можно ли смоделировать метод жизненного цикла Base Activity - PullRequest
0 голосов
/ 09 февраля 2019

Я очень новичок в издевательствах, и мне интересно -
можно ли издеваться над методами жизненного цикла?

У меня там BaseActivity и attachBaseContext переопределены, можно ли издеватьсякод внутри этого метода для тестов?

Обновление .Ну, в основном внутри этого метода у меня есть

protected void attachBaseContext(Context base) {
    super.attachBaseContext(Application.myParam() ? updateBaseContext(base) : base);
}

И мне не нужно updateBaseContext для моих тестов.

1 Ответ

0 голосов
/ 10 февраля 2019

Вы можете только издеваться над методами издевательских объектов.Чтобы издеваться над этим методом, ваша деятельность должна быть осмеяна.Но это ничего не даст, потому что вы не можете смоделировать метод с типами возвращаемых пустот.Здесь ваш метод attachBaseContext имеет возвращаемый тип void, поэтому его нельзя сменить.Это означает, что вы не можете определить, что и когда вызывать эти методы.Полагаю, вы хотите проверить свою активность, чтобы не издеваться над ней.

Я не уверен, но это может сработать для вас: вы можете расширить класс активности и переопределить этот метод, но непозвони супер на это.как это:

class MyActivity extends BaseActivity{

    protected void attachBaseContext(Context base) {
        // do nothing here. don't call super.
    }

}

При этом, когда будет вызван ваш метод attachBaseContext, в вашем тесте ничего не произойдет.

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