Ich habe Probleme auf Karma-Jasmin die Befehlszeilenoption aufrufen, die diese Tests nur für die Ausführung ermöglicht, die einem bestimmten Muster entsprechen. Meine spec lautet wie folgt:Selektive Testausführung in Karma Jasmin mit Pattern-Matching
/path/to/Einzeltest/main.spec.js
describe('my first test suite', function() {
it('always passes', function() {
expect(true).toBe(true);
});
it('still always passes', function() {
expect(true).toBe(true);
});
});
Ich gehe davon aus, die Beschreibung (zB "noch immer passiert") ist die Element, mit dem das in der Befehlszeilenoption grep angegebene Muster verglichen wird. Wenn ich versuche, das zweite Beispiel für die Ausführung auf der Tatsache, dass seine Beschreibung das einzige Beispiel ist das Wort „noch“ enthält, sind beide Beispiele, anstatt nur einen ausgeführt:
$ karma start -- --grep=still
INFO [karma]: Karma v0.12.35 server started at http://localhost:9876/
INFO [launcher]: Starting browser PhantomJS
INFO [PhantomJS 1.9.8 (Linux 0.0.0)]: Connected on socket 7Dn7Ez1Reap7ch0Uzsb0 with id 44623726
PhantomJS 1.9.8 (Linux 0.0.0): Executed 2 of 2 SUCCESS (0.002 secs/0.001 secs)
Wie führe ich nur diese eine Beispiel basierend auf einem Muster? Die official documentation gibt kein Beispiel für die Verwendung der Mustervergleichsoption.
Ich lese in der discussion of a pull request, dass die Option grep in Verbindung mit "fit" und "fdescribe" verwendet werden kann. Dies funktioniert beim Test. Im Falle der Verwendung von grep mit "fit", was ist der Zweck des Arguments Muster für die Option grep? (Es wäre schön sein, um Tests ohne die Notwendigkeit selektiv auszuführen, den Quellcode zu erweitern!)
Hier ist der Rest der Dateien in meinem Projekt als Referenz:
/path/to/Einzeltest/karma.conf.js
module.exports = function(config) {
config.set({
basePath: '',
frameworks: ['jasmine'],
files: ['*.spec.js'],
exclude: [],
preprocessors: {},
reporters: ['progress'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: false,
browsers: ['PhantomJS'],
singleRun: true
});
};
/path/to/single-Test/package.json
{
"name": "single-test",
"version": "1.0.0",
"description": "",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "MIT",
"devDependencies": {
"jasmine-core": "^2.3.4",
"karma": "^0.12.35",
"karma-jasmine": "^0.3.5",
"karma-phantomjs-launcher": "^0.2.0",
"phantomjs": "^1.9.17"
}
}
Verwandte: [verwenden 'fdescribe',' fit'] (http://stackoverflow.com/a/23793631 /) anstelle von 'describe',' it' –