1. unittest
Descripción: Es la librería estándar de Python para pruebas unitarias, inspirada en JUnit de Java1. Uso Básico:
Pythonimport unittest
class TestStringMethods(unittest.TestCase):
def test_upper(self):
self.assertEqual('foo'.upper(), 'FOO')
def test_isupper(self):
self.assertTrue('FOO'.isupper())
self.assertFalse('Foo'.isupper())
def test_split(self):
s = 'hello world'
self.assertEqual(s.split(), ['hello', 'world'])
with self.assertRaises(TypeError):
s.split(2)
if __name__ == '__main__':
unittest.main()
Código generado por IA. Revisar y usar cuidadosamente. Más información sobre preguntas frecuentes.
Ventajas:
- Integrado en la biblioteca estándar de Python.
- Soporte para fixtures, suites de pruebas y runners.
2. pytest
Descripción: Una librería muy popular que simplifica la escritura de pruebas y soporta fixtures avanzados y plugins2. Uso Básico:
Pythondef test_upper():
assert 'foo'.upper() == 'FOO'
def test_isupper():
assert 'FOO'.isupper()
assert not 'Foo'.isupper()
def test_split():
s = 'hello world'
assert s.split() == ['hello', 'world']
with pytest.raises(TypeError):
s.split(2)
Código generado por IA. Revisar y usar cuidadosamente. Más información sobre preguntas frecuentes.
Ventajas:
- Sintaxis simple y fácil de leer.
- Soporte para fixtures y plugins.
- Integración con otras herramientas de testing.
3. nose2
Descripción: Es la sucesora de Nose y extiende las capacidades de unittest con plugins adicionales2. Uso Básico:
Pythonimport unittest
class TestStringMethods(unittest.TestCase):
def test_upper(self):
self.assertEqual('foo'.upper(), 'FOO')
def test_isupper(self):
self.assertTrue('FOO'.isupper())
self.assertFalse('Foo'.isupper())
def test_split(self):
s = 'hello world'
self.assertEqual(s.split(), ['hello', 'world'])
with self.assertRaises(TypeError):
s.split(2)
if __name__ == '__main__':
unittest.main()
Código generado por IA. Revisar y usar cuidadosamente. Más información sobre preguntas frecuentes.
Ventajas:
- Compatible con unittest.
- Soporte para plugins adicionales.
4. doctest
Descripción: Permite escribir pruebas dentro de los docstrings y ejecutarlas como parte de la documentación1. Uso Básico:
Pythondef add(a, b):
"""
Suma dos números.
>>> add(2, 3)
5
>>> add('a', 'b')
'ab'
"""
return a + b
if __name__ == "__main__":
import doctest
doctest.testmod()
Código generado por IA. Revisar y usar cuidadosamente. Más información sobre preguntas frecuentes.
Ventajas:
- Fácil de usar para pequeñas pruebas.
- Integración con la documentación.
5. Robot Framework
Descripción: Un framework de automatización de pruebas para pruebas de aceptación y desarrollo dirigido por pruebas (TDD)2. Uso Básico:
*** Settings ***
Library OperatingSystem
*** Test Cases ***
Example Test
[Documentation] This is an example test
[Tags] example
Run Process echo Hello, Robot Framework!
Ventajas:
- Basado en palabras clave, lo que facilita la lectura y escritura de pruebas.
- Extensible con bibliotecas externas.