Как проверить метод аннулирования android презентаторов с помощью Dagger2 JUnit Mockito? - PullRequest
0 голосов
/ 04 августа 2020

Пожалуйста, какие-нибудь предложения, как протестировать этот метод void этого презентатора?

Этот код получает несколько объектов из модели и после этого отображает некоторые из их свойств в сетке.

public void calculate(int inputNumber) {
    isProcessActive = true;
    fragment.showAllProgressBars();

    Observable<BaseUnit> observable = repository.exec(inputNumber);

    Disposable disposable = observable.observeOn(AndroidSchedulers.mainThread())
        .doFinally(() -> fragment.setButtonEnabled())
        .subscribe(unit -> fragment.setCellText(unit.getViewId(), unit.getTimeString()),
            Throwable::printStackTrace);

    composite.add(disposable);
}

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

public class PresenterTest {

    @Rule
    public MockitoRule mockitoRule = MockitoJUnit.rule();

    Contract.Presenter presenter;

    @Mock
    Contract.View fragment;
    @Mock
    RepositoryInterface repository;

    @Before
    public void setPresenter() {
        TestComponent component = DaggerTestComponent.builder()
            .build();
        component.inject(this);

        presenter = new Presenter(repository);
        presenter.attachView(fragment);
    }

    @Test
    public void calculate() {
        assertNotNull(presenter);


    }
}

Тест на данный момент проходит, фрагменты и макеты репозитория попадают в презентатор.

...