Olá boa noite,
A execução dos testes não funcionam no net5, gostaria de entender e aprender a usar no respectivo framework, pesquisei muito na internet e todas as minhas tentativas foram frustradas, poderiam me ajudar a entender qual foi a mudança que quebrou esse mock? Ao chamar o verify ele informa que o método log nunca foi chamado
Meu método de teste:
var mensagemDeErroEsperada = "Houve um erro na inclusão de tarefas";
var excecaoEsperada = new Exception(mensagemDeErroEsperada);
var comando = new CadastraTarefa("Estudar Xunit", new Categoria("Estudo"), new DateTime(2019, 12, 31));
var mockLogger = new Mock<ILogger<CadastraTarefaHandler>>();
var mock = new Mock<IRepositorioTarefas>();
mock.Setup(r => r.IncluirTarefas(It.IsAny<Tarefa[]>()))
.Throws(excecaoEsperada);
var repo = mock.Object;
var handler = new CadastraTarefaHandler(repo, mockLogger.Object);
//act
CommandResult resultado = handler.Execute(comando);
mockLogger.Verify(l =>
l.Log(
LogLevel.Error, //nível de log => LogError
It.IsAny<EventId>(), //identificador do evento
It.IsAny<object>(), //objeto que será logado
excecaoEsperada, //exceção que será logada
It.IsAny<Func<object, Exception, string>>()
), //função que converte objeto+exceção >> string
Times.Once());
Exceção Gerada: