1
resposta

Execução do teste não funciona no .NET 5

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:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Boa tarde.

Na versão 6 também acontece isso e não consegui resolver.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software