Oi Igor! Tudo certo?
O erro System.ArgumentOutOfRangeException
indica que o índice que você está tentando acessar está fora do intervalo da coleção. Vamos ver o que pode estar acontecendo:
Verifique a Lista: Certifique-se de que a lista que você está tentando acessar tem elementos antes de acessar o índice. No seu teste, você está acessando resultado.Successes[0]
. Verifique se resultado.Successes
realmente contém elementos antes de tentar acessar o índice 0
.
Mock Correto: Assegure-se de que o mock que você está usando (LeitorDeArquivosMockBuilder.GetMock(listaDePet)
) está configurado corretamente para retornar uma lista não vazia quando o método RealizaLeitura()
é chamado. Se RealizaLeitura()
não estiver retornando a lista esperada, resultado.Successes
pode acabar sendo vazio.
Verifique o Setup do Mock: No trecho leitor.Setup(_ => _.RealizaLeitura());
, certifique-se de que está configurando o mock para retornar a lista de pets corretamente. Pode ser necessário usar .ReturnsAsync(listaDePet)
ou algo similar para garantir que o mock está retornando a lista esperada.
Teste o Comportamento: Antes de acessar resultado.Successes[0]
, você pode adicionar uma verificação para garantir que resultado.Successes
não está vazio. Por exemplo:
Assert.NotEmpty(resultado.Successes);
Aqui está um exemplo de como você poderia ajustar o teste para verificar se a lista não está vazia antes de acessar o índice:
//Assert
Assert.NotNull(resultado);
Assert.NotEmpty(resultado.Successes); // Verifica se há elementos
var sucesso = (SuccessWithPets)resultado.Successes[0];
Assert.Equal("Exibição do arquivo realizada com sucesso!", sucesso.Message);
Espero que essas dicas te ajudem a resolver o problema! Bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.