Venho estudando como fazer testes com rest porem estou quebrando a cabeça em um aplicativo de estudos que estou fazendo, eu tenho uma chamada para a API do github, porem nao consigo pegar o retorno dela no meu teste.
@Override
public void searchBranchesInServer(String profileName, String repositoryName) {
Call<ArrayList<BranchesTagsResponse>> responseCall = mRest.create(RestRepository.class).listBranches(profileName, repositoryName);
responseCall.enqueue(new Callback<ArrayList<BranchesTagsResponse>>() {
@Override
public void onResponse(@NonNull Call<ArrayList<BranchesTagsResponse>> call, @NonNull Response<ArrayList<BranchesTagsResponse>> response) {// retorno sucesso }
@Override
public void onFailure(@NonNull Call<ArrayList<BranchesTagsResponse>> call, @NonNull Throwable t) { // retorno erro }
});
}
e o meu teste esta assim
@Test
public void test1() throws InterruptedException {
doAnswer(invocation -> {
BranchPresenter callback = (BranchPresenter) invocation.getArguments()[0];
callback.success(new ArrayList<>());
return null;
}).when(mModel).searchBranchesInServer(anyString(), anyString());
mRepository.searchBranchesInServer(anyString(), anyString());
}
quando eu executo esse teste eu consigo chamar o metodo searchBranchesInServer(), porem ele nao cai no onResponse ou onFailure ou no doAnswer..
Já quebrei a cabeça mas nada, alguem sabe o motivo?
Obrigado