В настоящее время разрабатывается приложение для Android с использованием RxJava.Mocking Activity Lifecycle для RxJava в модульном тесте
я получил следующий фрагмент кода:
public Observable<Response<DTO>> getDTO(final BaseActivity activity, final long workorderId) {
return dtoService.getDTO(DTOId)
.subscribeOn(Schedulers.io())
.compose(activity.bindUntilEvent(ActivityEvent.PAUSE))
.observeOn(AndroidSchedulers.mainThread());
}
(. Пожалуйста, не против именования объектов, просто поставить некоторые случайные имена, чтобы отразить то, что нужно делать)
I протестировать отдельные части кода. Более того, эти части не содержат метод .compose()
. Теперь я попытался следующие:
@Mock
private BaseActivity baseActivity;
@Before
public void setup() {
MockitoAnnotations.initMocks(this);
}
и
private BaseActivity baseActivity;
@Before
public void setup() {
baseActivity = Mock(BaseActivity.class);
}
Обе эти ситуации дают мне нулевой указатель: lifecycle == null
(Что это, если я его отладки).
Как я обманываю или проверяю это каким-либо другим способом? (Кроме того, я не совсем понимаю, метод Compose(). Но я не могу показаться, чтобы найти какие-либо ресурсы, связанные с этим кодом)
(I при условии, что планировщики Android и RxJava, так что это не проблема)
Спасибо!
Вы рассмотрели шпионить фактическую деятельность я хотел бы также предложить robolectric если вы модульное тестирование деятельность сам модульного тестирование не является предназначенный для этого. –
Я проверил различные типы модульных испытаний на этом примере проекта, надеюсь, это помогло бы: http://github.com/mmirhoseini/fyber_mobile_offers –
Но я не хочу проверять свою деятельность. Я просто хочу знать если метод возвращает наблюдаемый с ответом с правильным DTO. Вот почему я хочу издеваться над этим действием, потому что он не имеет к этому никакого отношения. Или, может быть, я просто не понимаю метод compose()? – Clemenz