Funciones assert de self
En Python, el módulo unittest
es una biblioteca estándar para escribir y ejecutar pruebas automatizadas. En el contexto de unittest
, self
se usa para acceder a los métodos y atributos de la instancia de la clase de prueba. Aquí hay una lista de las opciones y métodos más comunes que puedes usar en self
al escribir pruebas con ejemplos:
self.assertEqual(a, b)
: Verifica quea
sea igual ab
.import unittest class TestStringMethods(unittest.TestCase): def test_upper(self): self.assertEqual('foo'.upper(), 'FOO') if __name__ == '__main__': unittest.main()
self.assertNotEqual(a, b)
: Verifica quea
no sea igual ab
.import unittest class TestMathMethods(unittest.TestCase): def test_not_equal(self): self.assertNotEqual(1 + 1, 3) if __name__ == '__main__': unittest.main()
self.assertTrue(x)
: Verifica quex
seaTrue
.import unittest class TestBooleanMethods(unittest.TestCase): def test_is_true(self): self.assertTrue(1 == 1) if __name__ == '__main__': unittest.main()
self.assertFalse(x)
: Verifica quex
seaFalse
.import unittest class TestBooleanMethods(unittest.TestCase): def test_is_false(self): self.assertFalse(1 == 2) if __name__ == '__main__': unittest.main()
self.assertIs(a, b)
: Verifica quea
seab
(es decir, que ambos sean el mismo objeto).import unittest class TestIdentityMethods(unittest.TestCase): def test_is(self): a = b = [1, 2, 3] self.assertIs(a, b) if __name__ == '__main__': unittest.main()
self.assertIsNot(a, b)
: Verifica quea
no seab
(es decir, que no sean el mismo objeto).import unittest class TestIdentityMethods(unittest.TestCase): def test_is_not(self): a = [1, 2, 3] b = [1, 2, 3] self.assertIsNot(a, b) if __name__ == '__main__': unittest.main()
self.assertIsNone(x)
: Verifica quex
seaNone
.import unittest class TestNoneMethods(unittest.TestCase): def test_is_none(self): self.assertIsNone(None) if __name__ == '__main__': unittest.main()
self.assertIsNotNone(x)
: Verifica quex
no seaNone
.import unittest class TestNoneMethods(unittest.TestCase): def test_is_not_none(self): self.assertIsNotNone(1) if __name__ == '__main__': unittest.main()
self.assertIn(a, b)
: Verifica quea
esté enb
.import unittest class TestMembershipMethods(unittest.TestCase): def test_in(self): self.assertIn(1, [1, 2, 3]) if __name__ == '__main__': unittest.main()
self.assertNotIn(a, b)
: Verifica quea
no esté enb
.import unittest class TestMembershipMethods(unittest.TestCase): def test_not_in(self): self.assertNotIn(4, [1, 2, 3]) if __name__ == '__main__': unittest.main()
self.assertIsInstance(a, b)
: Verifica quea
sea una instancia deb
.import unittest class TestInstanceMethods(unittest.TestCase): def test_is_instance(self): self.assertIsInstance(1, int) if __name__ == '__main__': unittest.main()
self.assertNotIsInstance(a, b)
: Verifica quea
no sea una instancia deb
.import unittest class TestInstanceMethods(unittest.TestCase): def test_not_is_instance(self): self.assertNotIsInstance(1, str) if __name__ == '__main__': unittest.main()
self.assertAlmostEqual(a, b, places=7)
: Verifica quea
sea casi igual ab
, redondeado aplaces
decimales (7 por defecto).import unittest class TestAlmostEqualMethods(unittest.TestCase): def test_almost_equal(self): self.assertAlmostEqual(1.0000001, 1.0000002, places=6) if __name__ == '__main__': unittest.main()
self.assertNotAlmostEqual(a, b, places=7)
: Verifica quea
no sea casi igual ab
, redondeado aplaces
decimales (7 por defecto).import unittest class TestAlmostEqualMethods(unittest.TestCase): def test_not_almost_equal(self): self.assertNotAlmostEqual(1.0001, 1.0002, places=6) if __name__ == '__main__': unittest.main()
self.assertGreater(a, b)
: Verifica quea
sea mayor queb
.import unittest class TestComparisonMethods(unittest.TestCase): def test_greater(self): self.assertGreater(3, 2) if __name__ == '__main__': unittest.main()
self.assertGreaterEqual(a, b)
: Verifica quea
sea mayor o igual queb
.import unittest class TestComparisonMethods(unittest.TestCase): def test_greater_equal(self): self.assertGreaterEqual(3, 3) if __name__ == '__main__': unittest.main()
self.assertLess(a, b)
: Verifica quea
sea menor queb
.import unittest class TestComparisonMethods(unittest.TestCase): def test_less(self): self.assertLess(2, 3) if __name__ == '__main__': unittest.main()
self.assertLessEqual(a, b)
: Verifica quea
sea menor o igual queb
.import unittest class TestComparisonMethods(unittest.TestCase): def test_less_equal(self): self.assertLessEqual(3, 3) if __name__ == '__main__': unittest.main()
- `self.assertRaises(exception, callable, *args, kwargs)
**:
callable
Verifica que se lance una excepción cuando se llama a la funcióncon los argumentos
argsy
*kwargs`.import unittest class TestExceptionMethods(unittest.TestCase): def test_raises(self): with self.assertRaises(ZeroDivisionError): 1 / 0 if __name__ == '__main__': unittest.main()
Estas son algunas de las opciones más comunes que se pueden usar en unittest
. Hay más métodos y técnicas disponibles, pero estos ejemplos deberían darte una buena base para empezar a escribir tus propias pruebas unitarias en Python.