У меня есть вариант использования 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();
}
}
Есть идеи?