Prueba de la aplicación Big JS - evitando múltiples archivos karma.conf.js

yo suelokarma + jazmín + fantasma para mis pruebas de Javascript sin cabeza.

El problema que tengo es que tengo una aplicación realmente grande que consta de muchos módulos JS que quiero probar.Por lo tanto, necesito simulacros personalizados para cada caso y adiciones personalizadas para cada caso.

karma.conf.js me permite tener solofiles matriz que consiste en patrones para todos los archivos que se incluyen, lo que es GRANDE si mi aplicación fuera pequeña y no una gran aplicación con una gran cantidad de archivos y módulos.

Mi solución por ahora - crea multipleskarma.conf.js Archivos para cada caso de prueba. Pero esto realmente apesta ya que tener tantos archivos de configuración es una gran cantidad y si quisiera cambiar una configuración (comoAutoWatch) Tendría que cambiar todos los archivos de configuración.

Miotra solucion - escribe un controlador personalizado delante dekarma.conf.js para manejar parámetros adicionales (archivo de especificaciones o carpeta para evitar karma para buscar su archivo de configuración) y simplemente compilarfiles matriz dinámicamente.

Ahora el problema que veo con esto es que karma se ejecuta solo una vez y estaría limitado a ejecutar una especificación de prueba ... yNO QUIERO MODIFICAR KARMA EN SÍ MISMO.

También he considerado usarGruñido pero no he encontrado una manera de hacer que funcione para múltiples casos de prueba.

Por cierto, mi estructura ideal sería así:

tener archivos:

test/specs/category/unit1_spec.js
test/mocks/category/unit1_mock.js

archivo de configuración:

files: [
  {
    'includes': [array_of_includes],
    'spec': 'spec_file'
  }
]

el archivo simulado se tomaría automáticamente del directorio de simulacros correspondiente.

y yo podria hacerkarma start test/specs/category y ejecutaría recursivamente todos los casos de prueba dentro de la carpeta.

tl; dr - Quiero probar cómodamente una gran aplicación.

Agradeceríaalguna Sugerencia para manejar esta tarea.

Respuestas a la pregunta(4)

Su respuesta a la pregunta