Ada beberapa cara untuk melakukannya.
Ada: Spesifikasi Fokus fitur Jasmine (2.2): http://jasmine.github.io/2.2/focused_specs.html
Spesifikasi fokus akan menjadikannya satu-satunya spesifikasi yang berjalan. Setiap spec yang dinyatakan dengan fit difokuskan.
describe("Focused specs", function() {
fit("is focused and will run", function() {
expect(true).toBeTruthy();
});
it('is not focused and will not run', function(){
expect(true).toBeFalsy();
});
});
Namun, saya tidak terlalu suka ide mengedit tes saya (cocok dan menggambarkan) untuk menjalankannya secara selektif. Saya lebih suka menggunakan pelari uji seperti karma yang dapat menyaring tes menggunakan ekspresi reguler.
Berikut ini contoh menggunakan gerutuan .
$ grunt karma:dev watch --grep=mypattern
Jika Anda menggunakan gulp (yang merupakan pelari tugas favorit saya), Anda dapat meneruskan args ke gulp -karma dengan yargs dan mencocokkan pola dengan mengatur konfigurasi karma.
Agak seperti ini:
var Args = function(yargs) {
var _match = yargs.m || yargs.match;
var _file = yargs.f || yargs.file;
return {
match: function() { if (_match) { return {args: ['--grep', _match]} } }
};
}(args.argv);
var Tasks = function() {
var test = function() {
return gulp.src(Files.testFiles)
.pipe(karma({ configFile: 'karma.conf.js', client: Args.match()}))
.on('error', function(err) { throw err; });
};
return {
test: function() { return test() }
}
}(Args);
gulp.task('default', ['build'], Tasks.test);
Lihat inti saya: https://gist.github.com/rimian/0f9b88266a0f63696f21
Jadi sekarang, saya dapat menjalankan satu spec menggunakan deskripsi:
Uji coba lokal saya: (Eksekusi 1 dari 14 (dilewati 13))
gulp -m 'triggers the event when the API returns success'
[20:59:14] Using gulpfile ~/gulpfile.js
[20:59:14] Starting 'clean'...
[20:59:14] Finished 'clean' after 2.25 ms
[20:59:14] Starting 'build'...
[20:59:14] Finished 'build' after 17 ms
[20:59:14] Starting 'default'...
[20:59:14] Starting Karma server...
INFO [karma]: Karma v0.12.31 server started at http://localhost:9876/
INFO [launcher]: Starting browser Chrome
WARN [watcher]: All files matched by "/spec/karma.conf.js" were excluded.
INFO [Chrome 42.0.2311 (Mac OS X 10.10.3)]: Connected on socket hivjQFvQbPdNT5Hje2x2 with id 44705181
Chrome 42.0.2311 (Mac OS X 10.10.3): Executed 1 of 14 (skipped 13) SUCCESS (0.012 secs / 0.009 secs)
[20:59:16] Finished 'default' after 2.08 s
Lihat juga: https://github.com/karma-runner/karma-jasmine