Integrando Karma en Travis

Tras el post de Alex sobre Travis 101, tenía ganas de dedicarle un rato al tutorial.

Paralelamente, en Kaleidos estoy teniendo formación específica de Javascript (quién me mandaría aputarme), y claro, le estoy dando duro a los tests.

Así que me pareció una excusa genial para probar. Me creé un repositorio con los ejercicios que vamos haciendo y el objetivo es que con cada nuevo push en máster se pasen los tests.

Como dice el tutorial, hay que añadirse una entrada en Travis y configurarse la integración. Después, hay que añadir en el directorio raíz un fichero .travis.yml donde se configura la ejecución de los tests en Travis.

Antes de nada, varias cuestiones que he aprendido fallando: - en la VM de Travis no tienen Chrome instalado, sólo se puede usar Firefox - hay que configurar como lenguaje _nodejs siguiendo la documentación oficial de Karma sobre esto

La configuración finalmente queda:

language: node_js
node_js:
    - 0.10
before_install:
    - "export DISPLAY=:99.0"
    - "sh -e /etc/init.d/xvfb start"
install:
    - "npm install"
script:
    - "./node_modules/karma/bin/karma start --browsers Firefox --single-run"

Donde: - las operaciones indicadas en before_install lanzan un servidor de X virtual, donde se lanzará en este caso el browser - npm install instala las dependencias que están indicadas en package.json. En este caso, me he asegurado de que una de las dependencias sea karma-firefox-launcher porque es el navegador con el que lanzaremos los tests en Travis - en la línea del script indico con qué navegador quiero lanzarlo. Esto es así porque en el fichero karma.conf.js he configurado dos navegadores (Chrome y Firefox) pero en Travis sólo quiero pasar Firefox. Aparte, –single-run me retorna 0 si la prueba pasa o 1 si falla.

Con esto ya podéis ver los builds, ¡ahora mismo está en verde! \o/

comments powered by Disqus