Cómo configurar Karma y jazmín con webpack

He tenido la intención de volver a los blogs, y me pareció que era un buen tema para cubrir.

Después de pasar por algunos reaccionan cursos últimamente, webpack ha convertido rápidamente en una herramienta indispensable para mí. Se carga y transpiles todo, y hace un buen paquete aseado. Es mi ir a la herramienta para los nuevos proyectos ahora.

Al configurar las pruebas unitarias para mi GitHub Tire Solicitud del tablero de instrumentos, las cosas no eran tan suave como con algunos de mis proyectos anteriores. Para promesa-poller, acabo de instalar el jazmín, escribí las especificaciones, y les encontré con el comando jazmín. Bonito y fácil.

Pero con un proyecto Reaccionar, puede que tenga que escribir algo de JSX en sus pruebas. O tal vez lo que desea es utilizar la sintaxis completa ES2015. Por lo tanto la creación de la infraestructura de pruebas en este caso no es tan simple (pero aún muy fácil).

No podía encontrar la manera de conseguir apenas Jasmine corriendo con webpack, pero la adición de Karma hizo el truco muy bien. He aquí una breve descripción de cómo obtenerlo en marcha y funcionando.

En primer lugar, voy a asumir que ya tiene un archivo de configuración webpack para su aplicación. Tendrá que recurrir a esto más adelante en el proceso.

Hay algunas dependencias de desarrollo que necesita para instalar:

Puede instalar la mayoría de ellos de una sola vez:

karma-CLI se instala por separado, ya que se instala a nivel mundial:

Ahora que se han instalado todos los paquetes, generar una configuración de Karma para empezar:

Esto le hará una serie de preguntas acerca de su configuración de prueba Karma. Asegúrese de decirle que usted está utilizando el jazmín. Cuando haya terminado, usted debe tener algo como esto:

Ahora sólo tiene que tirar en su configuración webpack. En la parte superior del archivo de configuración, requerirá en:

A continuación, añadir una sección webpack a la configuración del Karma:

Esto expondrá la configuración webpack a Karma.

Por último, añadir una sección de pre-procesadores:

Esto permite que el Karma sabe que antes de ejecutar las pruebas, tienen que ser procesada previamente mediante la ejecución a través de webpack.

La configuración Karma final debería tener este aspecto:

Lo único que será diferente en su configuración de Karma es el reportero. Yo prefiero karma-moka-reportero, así que eso es lo que estoy usando en mi configuración.

A partir de aquí, que son buenos para ir. Id y escribir sus ensayos utilizando JSX o ES2015. Para ejecutar las pruebas, acaba de empezar Karma desde la línea de comandos:


La ejecución de pruebas Karma JS como parte de un Maven CI construir con Webjars

Pasé varias horas en el trabajo recientemente tratando de resolver este problema. La solución tiene algunas partes móviles a la misma, así que pensé&# 8217; d apuntar algunas notas para que sea más fácil para mí y para otros en el futuro.

En mi lugar de trabajo tenemos un flujo de trabajo Maven / Java establecida con herramientas en el lugar de la ejecución de CI construye y el despliegue de artefactos construidos para nuestros entornos de desarrollo / pruebas / PROD etc. Hace algún tiempo Webjars adoptado como una forma de gestionar los recursos web estáticas a través de Maven mecanismo de gestión de la dependencia.

Como hemos llegado a ser más frontal pesado y como la cantidad de lógica de negocio en nuestro código de front-end se ha incrementado, se ha vuelto cada vez más importante para integrar Javascript pruebas E2E unidad y en nuestros procesos de construcción.

Después de evaluar algunas de las opciones que nos acomodamos en el corredor de prueba Karma. Este es un poderoso corredor de prueba que apoya las pruebas de cross-browser, múltiples formatos de presentación de informes y la capacidad de &# 8216; ver&# 8217; archivos de proyecto y pruebas de forma automática volver a ejecutar cuando un cambio es detectado (muy bueno!). La forma más fácil de llegar Karma correr es en NodeJS, que nos webs&# 8217; t han establecido en nuestro entorno.

¿Cómo integrar las pruebas impulsadas por Karma en un proyecto que utiliza dependencias Webjar por lo que las pruebas se pueden ejecutar de forma local y como parte de una construcción Maven CI usando nuestras herramientas existentes?

Si desea saltar a continuación, un proyecto totalmente funcional está disponible en GitHub. Echar un vistazo a la README para empezar.

En primer lugar, algunos antecedentes sobre las diferentes herramientas y bibliotecas utiliza para cualquier persona que no están familiarizados con ellos.

Maven es un sistema de gestión de la dependencia y la gestión de proyectos de construcción. Se ha convertido en un estándar de facto para proyectos Java. Es compatible con una amplia variedad de plugins que se pueden utilizar juntos para realizar procesos de construcción arbitrariamente complejas.

Webjars es una convención para el envasado de bibliotecas web del lado del cliente como dependencias JAR para que puedan ser manejados a través de herramientas orientadas en Java como Maven. Tienen la propiedad agradable que pueden ser incluidos y administrados como una dependencia del proyecto de la misma manera que cualquier biblioteca JAR regular puede.

Karma es una biblioteca corredor de prueba para ejecutar pruebas de JS. Las pruebas se pueden ejecutar a través de múltiples navegadores y en múltiples dispositivos.

Si tu no&# 8217; t quiere entrar en los detalles, la descomposición de la solución es la siguiente:

  1. dependencias configuración webjar
  2. webjars huésped utilizando el embarcadero Maven Plugin en el desarrollo local
  3. Karma configuración para ejecutar localmente utilizando las dependencias Webjar alojados
  4. Utilizar el plugin de Maven Dependencia para descomprimir dependencias Webjar durante una acumulación CI
  5. Crear una configuración específica Karma-CI que utiliza las dependencias sin envasar en lugar de los alojados queridos durante una acumulación CI
  6. Utilice la interfaz-Maven-Plugin para instalar NodeJS y Karma local para el proyecto durante una acumulación de CI y ejecutar las pruebas de Karma
  7. (Opcional) Añadir estilo de informes JUnit por lo que los resultados de las pruebas Karma pueden ser informados por los útiles CI como Jenkins, etc.

Configuración de su proyecto para utilizar Webjars

Esta parte es fácil. dependencias Webjar se pueden agregar a su POM al igual que cualquier otra dependencia.

La documentación Webjars tiene instrucciones para conseguir Webjars que se ejecutan en varias plataformas. Para facilitar la configuración que&# 8217; ll utilizar un contenedor Servlet 3.0 (véase la siguiente sección).

La manera más fácil de hacer que las dependencias webjar disponible es a través de un contenedor de servlets 3.0 como embarcadero. He utilizado el plugin de Maven embarcadero, que le permite lanzar un recipiente embarcadero totalmente configurado utilizando Maven.


configuración karma0.8.6.5 karma-0.8.6.5-setup.exe

Tamaño del archivo: 7.17 MB.

Fecha: 27/07/2014 13:15

configuración karma

Versión del archivo: 0.8.6.5

Nombre del producto: Karma

Título de los padres: Oficial de la Comunidad de Karma | Inicio | Karma

karma-0.8.6.5-setup.exe descargar libre.

Si recibe un faltante karma-0.8.6.5-setup.exe de error:

- Usted puede tratar de descargar este archivo y pegarlo en el directorio en el que faltan

Si recibe un error en el archivo de karma-0.8.6.5-setup.exe:

- Tratar de reemplazarlo con éste.

Si no puede encontrar ventanas de directorio intento:

1. Mantenga oprimida la tecla Windows en el teclado, a continuación, pulse el botón R.

2. Introduzca el comando "cmd" y pulse Intro

3. En una ventana de comandos escriba el comando "conjunto systemroot" y pulse Enter. Se directorio de sistema mostrará.