Resumo : neste tutorial, você aprenderá uma visão geral dos unittest
métodos assert do Python para realizar testes de unidade.
Introdução aos métodos de afirmação mais unittest do Python
A TestCase
classe do módulo unittest fornece um grande número de métodos assert para testar. A tabela a seguir mostra os métodos assert mais comumente usados:
Método | Verifica isso |
---|---|
assertEqual(x, y, msg=None) |
x == y |
assertNotEqual(x,y,msg=None) |
x != y |
assertTrue(x, msg=None) |
bool(x) is True |
assertFalse(x, msg=None) |
bool(x) is False |
assertIs(x, y , msg=None) |
x is y |
assertIsNot(x, y, msg=None) |
x is not e |
assertIsNone(x, msg=None) |
x is None |
assertIsNotNone(x , msg=None) |
x is not None |
assertIn(x, y, msg=None) |
x in e |
assertNotIn(x, y, msg=None) |
x not in e |
assertIsInstance(x, y, msg=None) |
isinstance(x, y) |
assertNotIsInstance(x, y, msg=None) |
not isinstance(x, y) |
Todos esses métodos possuem um msg
parâmetro opcional cujo tipo é uma string. Será msg
exibido no resultado do teste se o teste falhar.
Os seguintes métodos assert verificam as exceções, avisos e mensagens de log:
Método | Verifica isso |
---|---|
assertRaises(exc, fun, *args, **kwds) |
fun(*args, **kwds) aumenta exc |
assertRaisesRegex(exc, r, fun, *args, **kwds) |
fun(*args, **kwds) aumenta exc e a mensagem corresponde a regex r |
assertWarns(warn, fun, *args, **kwds) |
fun(*args, **kwds) levanta avisar |
assertWarnsRegex(warn, r, fun, *args, **kwds) |
fun(*args, **kwds) gera aviso e a mensagem corresponde a regex r |
assertLogs(logger, level) |
O with bloco registra no logger com um nível mínimo |
assertNoLogs(logger, level) |
O with bloco não loga no logger com nível mínimo |
A tabela a seguir mostra os métodos assert que realizam verificações mais específicas:
Método | Verifica isso |
---|---|
assertAlmostEqual(x, y) |
round(x-y, 7) == 0 |
assertNotAlmostEqual(x, y) |
round(x-y, 7) != 0 |
assertGreater(x, y) |
x > y |
assertGreaterEqual(x, y) |
x >= y |
assertLess(x, y) |
x < e |
assertLessEqual(x, y) |
x <= e |
assertRegex(s, r) |
r.search(s) |
assertNotRegex(s, r) |
not r.search(s) |
assertCountEqual(x, y) |
xey têm o mesmo número de elementos no mesmo número. |
Nos próximos tutoriais, você aprenderá unittest
mais detalhadamente sobre os métodos assert e como usá-los de maneira eficaz.