Jadi, saya telah mencari semua ini, menemukan jawaban yang "mirip" di sini, tetapi tidak persis seperti yang saya inginkan.
Saat ini jika saya ingin menguji satu file dengan karma, yang perlu saya lakukan fit()
, fdescribe()
pada file yang dimaksud ...
Namun, yang saya inginkan adalah dapat memanggil karma, dengan file konfigurasi, dan mengarahkannya ke file tertentu, jadi saya tidak perlu memodifikasi file sama sekali, yaitu:
karma run --conf karma.conf.js --file /path/to/specific/test_file.js
apakah mungkin melakukan ini? Atau dengan pembantu? (menggunakan grunt atau gulp?)
javascript
gruntjs
gulp
karma-runner
karma-jasmine
Gonçalo Vieira
sumber
sumber
karma run -- --grep=testDescriptionFilter
? Saya telah melihat ini disarankan sebelumnya, tetapi saya tidak dapat memverifikasi secara langsung bahwa itu berfungsi. (Jika saya di rumah, saya akan mencoba sebelum menyarankan. Karena saya tidak dapat mencoba- Saya berkomentar daripada menjawab.) :)it
? Tidak ada kemungkinan menggunakannya untuk file?Jawaban:
Pertama, Anda perlu memulai server karma dengan
Kemudian, Anda dapat menggunakan grep untuk memfilter pengujian tertentu atau mendeskripsikan blok:
sumber
karma
menjalankan dengankarma start
sebelum menjalankankarma run
karma run
. Tampak cukup jelas bahwa poster tersebut mengetahui cara memulai Karma dan menjalankan semua pengujian dan hanya mencari sintaks tentang pemfilteran.Meskipun
--files
tidak lagi didukung, Anda dapat menggunakan variabel env untuk memberikan daftar file:// 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)) }); });
Kemudian di CLI:
$ env KARMA_SPECS="spec1.js,spec2.js" karma start karma.conf.js --single-run
sumber
Opsi ini tidak lagi didukung di versi terbaru karma:
lihat https://github.com/karma-runner/karma/issues/1731#issuecomment-174227054
Larik file dapat didefinisikan ulang menggunakan CLI sebagai berikut:
karma start --files=Array("test/Spec/services/myServiceSpec.js")
atau lolos:
karma start --files=Array\(\"test/Spec/services/myServiceSpec.js\"\)
Referensi
pelari karma sumber: cli.js
pelari karma sumber: config.js
sumber
config.files = config.files.map(createPatternObject).map(createPatternMapper(basePathResolve))
:, yang mungkin disebabkan oleh fakta bahwa saya menggunakan requireJS?