Entonces, he estado buscando esto por todas partes, encontré respuestas "similares" aquí, pero no exactamente lo que quiero.
En este momento, si quiero probar un solo archivo con karma, necesito hacer fit() , fdescribe() en el archivo en cuestión...
Sin embargo, lo que sí quiero es poder simplemente llamar a karma, con el archivo de configuración, y dirigirlo a un archivo específico, por lo que no necesito modificar el archivo en absoluto, es decir:
karma run --conf karma.conf.js --file /path/to/specific/test_file.js
¿Es posible hacer esto? ¿O con algún ayudante? (usando gruñido o trago?)
Primero necesitas iniciar el servidor karma con
karma startLuego, puede usar grep para filtrar una prueba específica o describir un bloque:
karma run -- --grep=testDescriptionFilterAunque --files ya no es compatible, puede usar una variable env para proporcionar una lista de archivos:
// karma.conf.js function getSpecs(specList) { if (specList) { return specList.split(',') } else { return ['**/*_spec.js'] // whatever your default glob is } } module.exports = function(config) { config.set({ //... files: ['app.js'].concat(getSpecs(process.env.KARMA_SPECS)) }); });Luego en la CLI:
$ env KARMA_SPECS="spec1.js,spec2.js" karma start karma.conf.js --single-runver https://github.com/karma-runner/karma/issues/1731#issuecomment-174227054
La matriz de archivos se puede redefinir usando la CLI como tal:
karma start --files=Array("test/Spec/services/myServiceSpec.js")o escapó:
karma start --files=Array\(\"test/Spec/services/myServiceSpec.js\"\)Referencias