Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

[Sugestão] Atualização NET 7 (possivelmente 8)

No NET 7.0 Ao invés de usar classe Exception para fazer funcionar o segundo teste deve utilizar HttpRequestException, fica assim:

    [Fact]
    public async Task QuandoAPIForaDeveRetornarUmaExcecao()
    {
        //Arrange
        var clientPet = new HttpClientPet();

        //Act
        await Assert.ThrowsAsync<HttpRequestException>(() => clientPet.ListPetsAsync());

    }
1 resposta

Boa tarde, Henrique! Tudo bom?

Agradeço por trazer a sugestão de refatorar com HttpRequestException em vez de Exception.

Essa é uma boa prática, pois HttpRequestException é mais específico e indica claramente que a exceção está relacionada a uma solicitação HTTP.

No seu exemplo, você mencionou que está usando o método Assert.ThrowsAsync<HttpRequestException>. Isso é uma abordagem válida e ajuda a tornar seu teste mais robusto, pois você está testando especificamente para a exceção que espera ocorrer quando a API está fora do ar. Não só melhora a legibilidade do seu código, mas também garante que você está testando exatamente o comportamento esperado.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!