Tak więc szukałem tego wszędzie, znalazłem tutaj „podobne” odpowiedzi, ale nie do końca to, czego chcę.
Teraz, jeśli chcę, aby przetestować jeden plik z karmą, co muszę zrobić fit()
, fdescribe()
na danego pliku ...
Jednak to, czego chcę, to móc po prostu wywołać karmę z plikiem konfiguracyjnym i skierować go do określonego pliku, więc nie muszę w ogóle modyfikować pliku, tj .:
karma run --conf karma.conf.js --file /path/to/specific/test_file.js
czy można to zrobić? Lub z jakimkolwiek pomocnikiem? (używając chrząknięcia lub łyku?)
javascript
gruntjs
gulp
karma-runner
karma-jasmine
Gonçalo Vieira
źródło
źródło
karma run -- --grep=testDescriptionFilter
? Widziałem to już sugerowane, ale nie mogę z pierwszej ręki zweryfikować, czy działa. (Gdybym był w domu, spróbuję przed zasugerowaniem. Ponieważ nie mogę spróbować - komentuję zamiast odpowiadać.) :)it
? Brak możliwości wykorzystania go do pliku?Odpowiedzi:
Najpierw musisz uruchomić serwer karmy z
Następnie możesz użyć grep, aby odfiltrować określony test lub opisać blok:
źródło
karma
biegaćkarma start
przed biegiemkarma run
karma run
. Wydawało się całkiem jasne, że plakat wiedział, jak uruchomić Karmę i przeprowadzić wszystkie testy, i po prostu szukał składni dotyczącej filtrowania.Mimo że
--files
nie jest już obsługiwany, możesz użyć zmiennej env, aby podać listę plików:// 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)) }); });
Następnie w CLI:
$ env KARMA_SPECS="spec1.js,spec2.js" karma start karma.conf.js --single-run
źródło
Ta opcja nie jest już obsługiwana w najnowszych wersjach karmy:
patrz https://github.com/karma-runner/karma/issues/1731#issuecomment-174227054
Tablicę plików można przedefiniować za pomocą interfejsu wiersza polecenia w następujący sposób:
karma start --files=Array("test/Spec/services/myServiceSpec.js")
lub uciekł:
karma start --files=Array\(\"test/Spec/services/myServiceSpec.js\"\)
Bibliografia
źródło karma-runner: cli.js
źródło karma-runner: config.js
źródło
config.files = config.files.map(createPatternObject).map(createPatternMapper(basePathResolve))
:, co może wynikać z faktu, że używam requireJS?