Как проверить UseCase / Interactor? - PullRequest
0 голосов
/ 11 марта 2020

У меня есть вариант использования GetAllCategories .

Теперь я хочу протестировать, но у меня нет идеи, как это сделать правильно.

Это мой вариант использования.

public class GetAllCategories implements UseCase<List<Category>, Void> {

  private final CategoryRepository repository;

  @Inject public GetAllCategories(CategoryRepository repository) {
    this.repository = repository;
  }

  @Override public Single<List<Category>> execute(Void p) {
    return repository.getAll();
  }

}

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

public class GetAllCategoriesTest {

  @Rule TrampolineSchedulerRule trampolineSchedulerRule = new TrampolineSchedulerRule();

  @Mock CategoryRepository repository;

  private GetAllCategories getAllCategories;

  @Before public void setUp()  {
    getAllCategories = new GetAllCategories(repository);
  }

  @Test
  public void name() {
    // Given
    List<Category> categories = new ArrayList<>();

    // When
    Mockito.when(repository.getAll()).thenReturn(Single.just(categories));
    getAllCategories.execute(null);

    // Then
    Mockito.verify(repository).getAll();
  }
}

Есть идеи?

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