Ответ 1
Сначала вам нужно запустить сервер кармы с помощью
karma start
Затем вы можете использовать grep для фильтрации определенного теста или описания блока:
karma run -- --grep=testDescriptionFilter
Итак, я искал все для этого, нашел здесь "похожие" ответы, но не совсем то, что хочу.
Прямо сейчас, если я хочу протестировать один файл с кармой, мне нужно сделать fit()
, fdescribe()
в соответствующем файле...
Тем не менее, я хочу, чтобы иметь возможность просто называть карму, с конфигурационным файлом и направлять его в определенный файл, поэтому мне не нужно вообще изменять файл, т.е.
karma run --conf karma.conf.js --file /path/to/specific/test_file.js
Можно ли это сделать? Или с любым помощником? (используя grunt или gulp?)
Сначала вам нужно запустить сервер кармы с помощью
karma start
Затем вы можете использовать grep для фильтрации определенного теста или описания блока:
karma run -- --grep=testDescriptionFilter
см. 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\"\)
Ссылки
Даже если --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