Karma: запуск одного тестового файла из командной строки
Итак, я искал, нашел "похожие" ответы здесь, но не совсем то, что я хочу.
прямо сейчас, если я хочу проверить один файл с кармой, мне нужно сделать fit()
,fdescribe()
в рассматриваемом файле...
однако то, что я хочу, это иметь возможность просто вызвать karma, с файлом конфигурации, и направить его в определенный файл, поэтому мне не нужно изменять файл вообще, т. е.:
karma run --conf karma.conf.js --file /path/to/specific/test_file.js
можно ли это сделать? Или с помощью любой помощник? (используя ворчание или глоток?)
3 ответа:
сначала вам нужно запустить Karma server с
karma start
затем вы можете использовать grep для фильтрации конкретного теста или описания блока:
karma run -- --grep=testDescriptionFilter
хотя
--files
больше не поддерживается, вы можете использовать переменную env для предоставления списка файлов:// 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)) }); });
затем в CLI:
$ env KARMA_SPECS="spec1.js,spec2.js" karma start karma.conf.js --single-run
эта опция больше не поддерживается в последних версиях karma:
см.https://github.com/karma-runner/karma/issues/1731#issuecomment-174227054
массив файлов может быть переопределен с помощью CLI как таковой:
karma start --files=Array("test/Spec/services/myServiceSpec.js")
или сбежал:
karma start --files=Array\(\"test/Spec/services/myServiceSpec.js\"\)
ссылки