Tenemos un rico cliente web. Nuestros controladores y servicio de fachadas están escritos en coffeescript (JavaScript) y jquery. En el pasado habrían sido java.

Para ejecutar nuestro código JavaScript jazmín pruebas de Jenkins/Hudson, usamos java junit y htmlunit para cargar una prueba orientada a la página jsp que incluye el jazmín especificaciones.

Cuando el Htmlunit intenta ejecutar, golpes tratando de getPage() probablemente debido a un analizador XML de la clase de camino que es sumamente difícil de rastrear en nuestro mundo.

Sólo queremos ser capaz de ejecutar nuestro código JavaScript pruebas de Jenkins y tienen que informar del fallo, si el JavaScript de la prueba no pasa. Sólo estamos usando jsp y htmlunit con el fin de ejecutar JavaScript pruebas. Podemos cargar el JavaScript de las pruebas y el código javascript en un motor de JavaScript con Jenkins como la cosa que patea? Si es así, ¿cómo?

OriginalEl autor finneycanhelp | 2011-09-30

5 Comentarios

  1. 14

    Suena como que estás en un entorno Java. Mi jazmín-maven-plugin podría ser un buen ajuste.

    Gracias. Su código es impresionante y le agradezco su contribución. Sí, estoy en un entorno de Java y el código inspirado en una solución. Yo prefiero omitir el uso de Java para ejecutar el Jazmín y tienen algo en jenkins acaba de inaugurar el jazmín pruebas. Suena como debo hacer una jenkins plugin solicitud.

    OriginalEl autor Justin Searls

  2. 8

    Jazmín Reporteros también sería una solución. Tiene instrucciones para la ejecución de headlessly a través de PhantomJS por ejemplo, y puede generar JUnit XML para Jenkins puede entender los resultados de la prueba de forma nativa, representación gráfica de la prueba de recuento, la duración, y el fracaso a lo largo del tiempo.

    También, el «xvfb-ejecutar» contenedor proporcionan a menudo con xvfb es una gran ayuda aquí, así que usted puede hacer «xvfb-ejecutar phantomjs.runner.sh …» en una verdadera sin cabeza medio ambiente.

    OriginalEl autor mrooney

  3. 6

    Previamente había resuelto este problema mediante la ejecución de las pruebas, con un node.js plugin llamado jasmine-node

    Esta solución requiere por supuesto node.js y un par de nodo de módulos para ejecutar correctamente el jazmín pruebas. No hay ningún navegador real ejecución de los tests, pero un emulador de uno con un módulo llamado jsdom, que básicamente crea una cabeza de navegador, y más específicamente, un DOM que las pruebas pueden interactuar con.

    Hay nodo módulos para jQuery, subrayado y probablemente también la otra, por lo que estos pueden ser probados. Usted puede incluso abandonar el navegador de emulación si prefiere ejecutar las pruebas en un navegador, aunque me parece demasiado engorroso en comparación con automatizada Jenkins pruebas.

    jazmín-nodo genera de prueba de jUnit informes, que Jenkins puede interpretar bien.

    Me di cuenta de que hay algunos jenkins-jasmine-node plugin que podría facilitar este proceso.

    OriginalEl autor joonsp

  4. 1

    Grunt es tu amigo

    tengo esta configuración y es muy agradable, además de que esto le da un lugar para empezar a hacer su servidor de compilación hacer otras cosas buenas, como la instalación, la unidad de pruebas, etc ya saben, otras cosas buenas

    «empezar a hacer su servidor de compilación hacer otras cosas agradables como»…?
    implementación, pruebas unitarias, etc ya saben, otras cosas buenas

    OriginalEl autor aqm

  5. 0

    Se puede utilizar el selenio? Que en realidad el uso de un navegador real y, a continuación, llegar lo más cerca del entorno real como sea posible.

    Gracias por su respuesta. Es una pregunta justa. Estoy de vuelta a la pregunta de cómo conseguir Jenkins saque de selenio, para ejecutar Jazmín pruebas, para ver los resultados.
    Eso es exactamente lo que estoy buscando…
    Echa un vistazo a: 1. SauceLabs, 2. Salsa OnDemand plugin y Saucery2 o Saucery3 paquetes de NuGet para hacer sus pruebas automatizadas con Jenkins y SauceLabs fácil

    OriginalEl autor Sarel Botha

Dejar respuesta

Please enter your comment!
Please enter your name here