2012-02-15 12 views
6

No quiero crear archivos reales en mi unittest. Así que me encuentro a menudo retocando con un texto sin sentido y creando falsas fábricas para pseudo-archivos. Me preguntaba si no sería mejor para evitar (en este caso) estos esfuerzos inútiles y tratar algo así como en el ámbito de un método unittest locales:Monkey-patch una función integrada para una prueba unitaria?

open = lambda x: StringIO() 

Sería esto aceptable? ¿O hay advertencias importantes/no emitir en este enfoque y ser mejor de con fábricas de prueba?

Respuesta

4

Esto está bien, siempre que comprenda cómo funcionan los alcances de python (es decir, a nivel local está bien, globalmente causará problemas).

Probablemente también deba considerar que sus monopatches tendrán diferentes modos de falla de los originales, y tienen las pruebas adecuadas para asegurarse de que su código interactúa correctamente con los editores incorporados.

Cuestiones relacionadas