2010-11-01 9 views
5

Nunca antes he escrito pruebas unitarias (o pruebas, en realidad, realmente). Tiendo a ejecutar/compilar obsesivamente después de escribir incluso el bit más pequeño de código para verificar si hay errores. He estado leyendo un poco sobre pruebas unitarias últimamente, y tengo curiosidad sobre cómo usarlos/implementarlos mejor. Últimamente, mi idioma principal ha sido Python, pero creo que esta es una pregunta bastante independiente del idioma. ¿Alguien tiene algunos consejos (o buena lectura) sobre cómo hacer esto correctamente?Cómo utilizar correctamente las pruebas unitarias (en cualquier idioma)

Gracias!

+1

"Tengo curiosidad sobre cómo utilizarlos/implementarlos mejor" No sabes cómo funciona el paquete 'unittest'. ¿Sabe cómo hacer un desarrollo impulsado por pruebas? ¿Qué ayuda quiere? Ayuda a ser muy ** específico ** sobre lo que puede hacer y lo que no está haciendo. ¿Qué ha intentado? ¿Qué no puede hacer? –

+0

SI es independiente del idioma, ¿por qué está etiquetado con Python? –

Respuesta

4

Sugeriría Chapter 13 de Dive Into Python.

+0

impresionante No sé por qué no pensé en mirar allí; Normalmente busco cosas de las que no estoy seguro, si no puedo encontrarlas (o entenderlas fácilmente) en la documentación de Python. Gracias. – tjsimmons

1

Me gusta este: The Art of Unit Testing. Los ejemplos están en .Net, pero eso no debería ser un problema. No conozco ningún libro con ejemplos en Python.

2

Las pruebas unitarias son una cosa, otra cosa a considerar es el desarrollo impulsado por pruebas, donde el acto de escribir las pruebas primero afecta el diseño/sensación del código finalmente entregado, con suerte para mejor. Encuentro que esto ayuda especialmente si el dominio del problema no se entiende completamente al comienzo de la programación.

Clarke Ching hace una buena charla de una hora sobre TDD usando excel. Si pasas una hora leyendo esto, debes hacerte una idea.

http://www.clarkeching.com/files/tdd_for_managers_and_nonprogrammers_using_excell_and_vba_final.pdf

Usted sabe que han llegado con las pruebas unitarias cuando Patrones de prueba xUnit es una lectura agradable. http://www.amazon.co.uk/xUnit-Test-Patterns-Refactoring-Signature/dp/0131495054/ref=sr_1_1?ie=UTF8&qid=1288638075&sr=8-1

Probablemente sea una gran pregunta al principio, y sugeriría algo más delicado acerca de la refactorización o la TDD sería una introducción más suave a este fascinante tema.

+0

+1 para desarrollo impulsado por prueba (TDD) –

0

Sugeriría encarecidamente utilizar un marco como nose que está construido en unittest y sigue los mismos principios, pero quita gran parte del andamio para usted.

0

Una biblioteca de utilidad de código abierto que utilizo al escribir pruebas unitarias es ApprovalTests - también hay una serie YouTube vídeo sobre cómo utilizar esta biblioteca con los lenguajes .NET (las ideas se pueden aplicar a otros idiomas y la biblioteca es ApprovalTests disponible para otros langauges (Java, PHP, más) también.

Cuestiones relacionadas