Donc, j'ai cherché partout, j'ai trouvé des réponses "similaires" ici, mais pas exactement ce que je veux.
Pour le moment, si je veux tester un seul fichier avec du karma, je dois faire fit()
, fdescribe()
sur le fichier en question ...
Cependant, ce que je veux, c'est pouvoir appeler simplement le karma, avec le fichier de configuration, et le diriger vers un fichier spécifique. Je n'ai donc pas besoin de modifier le fichier, c'est-à-dire:
karma run --conf karma.conf.js --file /path/to/specific/test_file.js
est-il possible de faire cela? Ou avec n'importe quel assistant? (en grognant ou en avalant?)
Vous devez d’abord démarrer le serveur karma avec
karma start
Ensuite, vous pouvez utiliser grep pour filtrer un test spécifique ou décrire un bloc:
karma run -- --grep=testDescriptionFilter
Même si --files
n'est plus pris en charge, vous pouvez utiliser une variable env pour fournir une liste de fichiers:
// 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))
});
});
Puis dans la CLI:
$ env KARMA_SPECS="spec1.js,spec2.js" karma start karma.conf.js --single-run
voir https://github.com/karma-runner/karma/issues/1731#issuecomment-174227054
Le tableau de fichiers peut être redéfini à l'aide de la CLI en tant que tel:
karma start --files=Array("test/Spec/services/myServiceSpec.js")
ou échappé:
karma start --files=Array\(\"test/Spec/services/myServiceSpec.js\"\)
Références