javascript - Karma: ejecutar un único archivo de prueba desde la línea de comandos
gruntjs gulp (3)
Esta opción ya no es compatible con versiones recientes de karma:
ver https://github.com/karma-runner/karma/issues/1731#issuecomment-174227054
La matriz de archivos se puede redefinir utilizando 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
Entonces, he estado buscando todo esto, 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 al 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?)
Aunque
--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 CLI:
$ env KARMA_SPECS="spec1.js,spec2.js" karma start karma.conf.js --single-run
Primero necesitas iniciar el servidor de karma con
karma start
Luego, puede usar grep para filtrar una prueba específica o describir un bloque:
karma run -- --grep=testDescriptionFilter