Flashcard FC331401
Como identificar, em testes unitários, se uma chamada de método falha por resultado incorreto, TypeError ou ZeroDivisionError?
Linguagens de Programação
FGV · 2014
Como identificar, em testes unitários, se uma chamada de método falha por resultado incorreto, TypeError ou ZeroDivisionError?
Mostrar resposta e comentário
Resposta
Resposta: teste_2 e teste_3 não falharão; teste_1 falhará.
Explicação:
Chamadas de método: self é implícito; argumentos mapeiam para os parâmetros.
Cálculo numérico: \(i = ((1000/10)-1)/(10*1.0) = 9.9\) — não é 0, logo assertEqual falha.
Tipos: dividir a string "10" por número lança TypeError; assertRaises(TypeError, ...) espera isso.
Zero: quando \(n=0\) o denominador vira 0.0 e ocorre ZeroDivisionError; assertRaises(ZeroDivisionError, ...) espera isso.
Explicação:
Chamadas de método: self é implícito; argumentos mapeiam para os parâmetros.
Cálculo numérico: \(i = ((1000/10)-1)/(10*1.0) = 9.9\) — não é 0, logo assertEqual falha.
Tipos: dividir a string "10" por número lança TypeError; assertRaises(TypeError, ...) espera isso.
Zero: quando \(n=0\) o denominador vira 0.0 e ocorre ZeroDivisionError; assertRaises(ZeroDivisionError, ...) espera isso.
Veja como foi cobrado:
https://flashcardsconcursos.com.br/portal/flashcard/331207
Conteúdo do catálogo FC Concursos · Atualizado em