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 queasea 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 queano 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 quexseaTrue.import unittest class TestBooleanMethods(unittest.TestCase): def test_is_true(self): self.assertTrue(1 == 1) if __name__ == '__main__': unittest.main()self.assertFalse(x): Verifica quexseaFalse.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 queaseab(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 queano 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 quexseaNone.import unittest class TestNoneMethods(unittest.TestCase): def test_is_none(self): self.assertIsNone(None) if __name__ == '__main__': unittest.main()self.assertIsNotNone(x): Verifica quexno 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 queaesté 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 queano 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 queasea 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 queano 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 queasea casi igual ab, redondeado aplacesdecimales (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 queano sea casi igual ab, redondeado aplacesdecimales (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 queasea 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 queasea 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 queasea 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 queasea 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 argumentosargsy*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.