1
resposta

Dúvida test_executar_requisicao_loga_mensagem_de_erro_de_http_error

O teste

def test_executar_requisicao_loga_mensagem_de_erro_de_http_error(stub_urlopen, caplog):
    fp = mock_open
    fp.close = Mock()
    stub_urlopen.side_effect = HTTPError(Mock(), Mock(), "mensagem de erro", Mock(), fp)
    executar_requisicao("http://")
    assert len(caplog.records) == 1
    for registro in caplog.records:
        assert "mensagem de erro" in registro.message

poderia serguir a mesma lógica do

def test_escrever_em_arquivo_registra_excecao_que_nao_foi_possivel_criar_diretorio():
    arquivo = "/tmp/arquivo.json"
    conteudo = "dados de livros"
    duble_logging = DubleLogging()
    with patch("colecao.livros.os.makedirs", duble_makedirs):
        with patch("colecao.livros.logging", duble_logging):
            escrever_em_arquivo(arquivo, conteudo)
            assert "Não foi possível criar diretório /tmp" in duble_logging.mensagens

em que criamos um dublê para o logging? Dai, ao invés de testar o conteúdo do caplog poderíamos testar diretamente o conteúdo do logging, não?

1 resposta

Oii Luiza, como você está? Espero que esteja bem ^-^

Sinto muito pela demora em obter um retorno.

Poderia sim, mas creio que a instrutora ensinou de ambas as formas para fins de didática, dessa forma o aluno saberá como fazer tanto de uma forma, quanto de outra, tudo bem?!

Qualquer dúvida estou por aqui.

Abraços e bons estudos!