tests testcases test modules how examples code python unit-testing python-unittest

python - testcases - addCleanUp vs tearDown



test python 3 (3)

Otra cosa buena acerca de addCleanup es que funciona como esperabas.

Por ejemplo, si lo llama en una función de setUp , todos los métodos de prueba llamarán la función de limpieza al final.

Si lo llama en un método de prueba, solo este método llama a la función de limpieza.

Recientemente, Ned Batchelder durante su charla en PyCon 2016 señaló:

Si está usando unittest para escribir sus pruebas, definitivamente use addCleanup , es mucho mejor que tearDown .

Hasta ahora, nunca he usado addCleanUp() y me he acostumbrado a setUp() par de métodos de setUp() / tearDown() para las fases de "configuración" y "eliminación" de prueba.

¿Por qué debería cambiar a addCleanUp() lugar de tearDown() ?

También se discutió recientemente en el test de unidad de Python con el podcast de Robert Collins .


Por la addCleanup documentos addCleanup :

Los elementos de limpieza se llaman incluso si falla la configuración (a diferencia de tearDown)

addCleanup se puede usar para registrar múltiples funciones, por lo que podría usar funciones separadas para cada recurso que desee limpiar. Eso permitiría que su código sea un poco más reutilizable / modular.


addCleanup() métodos addCleanup() se ejecutarán incluso si uno de ellos falla, y se ejecutarán incluso si falla setUp() . También debe considerar el uso de pytest .