2010-05-25 10 views
7

¿Es posible realizar pruebas de prueba unitaria a través de una interfaz web ... y de ser así cómo?Pruebas de la unidad Perfom python a través de una interfaz web

EDITAR: por ahora quiero los resultados ... para las pruebas Quiero que se pueden automatizar ... posiblemente cada vez que hacen un cambio en el código. Lo siento, me olvidé de dejar esto más claro

+0

¿Te ¿Desea ejecutar las pruebas desde la interfaz web, ver los resultados, o ambos? –

+0

@Eric: ver mi edición – Stephen

Respuesta

8

EDIT:

Esta respuesta es obsoleta en este punto:

El enlace a django-jenkins va a un buen tutorial sobre cómo usar Jenkins con Django. Dejaré el texto a continuación, ya que todavía tiene buena información.


Como dijo Bryan, que haría uso de Hudson para programar, ejecutar, y recoger los resultados de las pruebas. Puede modificar sus pruebas para usar xmlrunner.py (escrito por Sebastian Rittau), que dará como resultado los resultados de su prueba en un archivo XML compatible con JUnit para Hudson.

Aquí hay un ejemplo de cómo el código de prueba usaría xmlrunner:

import unittest 
import xmlrunner 

class TheTest(unittest.TestCase): 

    def testOne(self): 
     self.assertEquals(1, 1) 
    def testTwo(self): 
     self.assertEquals(2, 2) 
    def testThree(self): 
     self.assertEquals(3, 4) 

if __name__ == '__main__': 
    suite = unittest.TestLoader().loadTestsFromTestCase(TheTest) 
    xmlrunner.XMLTestRunner().run(suite) 

Una vez que instale Hudson, que va a crear un nuevo proyecto para el repositorio de código fuente que está probando. Tendrá que RTFM, pero en pocas palabras:

  1. En Administración de Código Fuente, podrás introducir la información de los repositorios y hacer que sondee el repositorio periódicamente (por lo general sólo lo hacen * * * * * por lo que los controles cada minuto)
  2. Agregue un comando que realmente ejecute el script de prueba (como python test.py).
  3. Compruebe el informe de resultados de la prueba de publicar JUnit. Si tiene un error como 'TEST-*.xml' doesn't match anything, puede ignorarlo con seguridad. Se verá algo como esto: JUnit Settings http://www.snowpeaksoftware.com/stuff/hudson_config.png

Una vez que todo esté hecho podrás ver los resultados de pruebas por cada vez que se ejecuta después de Hudson registro de entrada.Se verá algo como esto:

Hudson Unit Test Results http://www.snowpeaksoftware.com/stuff/unittest_results.png

También obtiene páginas más detalladas les gusta esta página:

Hudson Unit Test Detailed Results http://www.snowpeaksoftware.com/stuff/test_results_detailed1.png

y esta página:

Hudson Unit Test Detailed Results http://www.snowpeaksoftware.com/stuff/test_results_detailed2.png

4

Puede usar Hudson para programar las pruebas para que se ejecuten cada vez que ingrese el código. Como Hudson es una aplicación web, puede ver los resultados a través de la web (y/o publicarlos y/o enviarlos por correo electrónico a usted o a su equipo).

Cuestiones relacionadas