Imagem de fundo

O pytest é um framework de testes, amplamente usado em Python, que prioriza simplicidad...

O pytest é um framework de testes, amplamente usado em Python, que prioriza simplicidade e legibilidade. Uma de suas principais características é a capacidade de testar exceções de forma elegante, permitindo validar tanto quando uma exceção deve ser levantada quanto verificar mensagens específicas de erro. Considere a seguinte função que valida idades:


def validar_idade(idade):

if idade < 0:

raise ValueError(“Idade não pode ser negativa”)

if idade > 150:

raise ValueError(“Idade deve ser menor que 150”)

return True


Analise as implementações de teste a seguir e identifique qual segue corretamente as convenções do pytest e testa adequadamente as exceções:


A

import pytest

def test_validar_idade():

assert validar_idade(25) is True


with pytest.raises(ValueError, match=”Idade não pode ser negativa”):

validar_idade(-5)


with pytest.raises(ValueError, match=”Idade deve ser menor que 150”):

validar_idade(200)


B

import pytest

def validar_idade_test():

try:

validar_idade(-5)

assert False

except TypeError:

pass

assert validar_idade(25) is True


C

import pytest

def validar_idade_test():

assert validar_idade(25) is True


with pytest.raises(ValueError,

match=”Idade não pode ser negativa”):

validar_idade(-5)


with pytest.raises(ValueError,

match=”Idade deve ser menor que 150”):

validar_idade(200)


D

import pytest

def test_validar_idade():

try:

validar_idade(-5)

assert False

except TypeError:

pass

assert validar_idade(25) is True