Testing con pytest
9 pasos en 4 series de Python.
pytest con la sentencia assert haciendo el trabajo, que es gran parte de por qué la gente lo usa. Escribir pruebas, parametrizarlas, y las tres maneras de comprobar que algo lanzó lo que tenía que lanzar.
Luego las fixtures, que son la habilidad de verdad: alcance, teardown y cómo componerlas. Seleccionar y simular cierra con marks, skips, monkeypatch y tmp_path. Nueve pasos, y cubre la mayor parte de lo que necesitas para escribir una suite de pruebas que no vayas a odiar después.
Escribir pruebas
- Aserciones de pytestUna prueba es una función cuyo nombre empieza con test y cuyo cuerpo hace assert.
- Probar fallaspytest.raises afirma que la llamada falla, y también cómo.
- parametrizeUn solo cuerpo de prueba, una fila de casos y un resultado aparte por cada uno.
Fixtures
- FixturesUn fixture construye lo que la prueba necesita y lo desmonta después.
- Fixtures integradostmp_path, monkeypatch y capsys cubren casi todo lo que una prueba necesita.
Seleccionar y simular
- Marcas y omisionesLas marcas etiquetan pruebas para que una corrida las seleccione o las espere.
- unittest.mockReemplazar un colaborador para que la prueba nunca toque la red.
- doctestEjemplos en el docstring que corren como pruebas.
Bis
- test_suite.pyUn archivo de pytest como en un proyecto real: fixtures, parametrize, marcas.