Ganz einfach, ich möchte nur einen Test mit Jest durchführen.
Ich habe it.only
oder describe.only
aber es laufen noch viele Tests. Ich denke, es werden alle Tests seit meinem letzten Commit ausgeführt, aber dieses Verhalten sollte nicht only
explizit gesetzt sein, oder?
Was verursacht dieses Verhalten und wie wird ein einzelner Test ausgeführt?
javascript
unit-testing
jestjs
jpenna
quelle
quelle
Antworten:
fit
,fdescribe
Undit.only
,describe.only
haben den gleichen Zweck, andere Tests überspringen, führen nur mich.Quelle: https://github.com/facebook/jest/issues/698#issuecomment-177673281
Verwenden Sie den
jest
Filtermechanismus, wenn Sie Ihre Tests wie ausführenSie können Tests nach einem
testname
oder filtern, indem Siefilename
einfach den Anweisungen im Terminal folgenDrücken Sie
p
und geben Sie einen Dateinamen einDann können Sie verwenden
describe.only
undit.only
alle anderen Tests aus gefilterten, getesteten Dateien überspringen.quelle
.only
funktioniert das nur für die Tests derselben Datei?it.only
oderit.skip
einen Syntaxfehler enthalten, schlagen alle Tests fehl. Natürlich wird Code aus Dateien, die durch Muster ausgeschlossen sind, nicht ausgeführt. imgur.com/z9FlQEZif.only
es console.logs von der Carousel-Komponente so oft verwende, wie es übersprungene / nicht übersprungene Tests für diese Komponente in Ihren Uhrenmustern gibt.it.only
unddescribe.only
arbeiten nur für das Modul, in dem sie sich befinden. Wenn Sie Probleme beim Filtern von Tests in mehreren Dateien haben, können Siejest -t name-of-spec
Tests filtern, die mit dem Spezifikationsnamen übereinstimmen (Übereinstimmung mit dem Namen in Beschreibung oder Test).Quelle: https://facebook.github.io/jest/docs/en/cli.html
Zum Beispiel konzentriere ich den Test, den ich gerade schreibe, so (mit dem Testskript im
package.json
):npm test -- -t "test foo"
quelle
describe
Testblock) vorhanden ist. In diesem Fall sollten Sie sich auf den genauen Testnamen beschränken, auf den Sie sich konzentrieren möchten.es ist so:
Es werden alle Dateien mit dem Namen
sometest.test.js
und der Übereinstimmung basierend auf der Option -t getestet. Wenn Sie nur eine bestimmte Datei testen möchten, können Sie dies tun:quelle
Bei mir funktioniert es, wenn ich 2 Parameter wie diesen verwende:
Flaggen:
quelle