Heim  >  Artikel  >  Web-Frontend  >  Die Angular-Implementierung führt nur neue Unit-Tests aus, die sich in der Entwicklung befinden

Die Angular-Implementierung führt nur neue Unit-Tests aus, die sich in der Entwicklung befinden

青灯夜游
青灯夜游nach vorne
2020-12-02 17:55:393550Durchsuche

AngularWie können Unit-Tests nur bestimmte Testfälle ausführen und die Testgeschwindigkeit verbessern? Der folgende Artikel stellt es Ihnen vor. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

Die Angular-Implementierung führt nur neue Unit-Tests aus, die sich in der Entwicklung befinden

Empfohlene verwandte Tutorials: „Angular-Tutorial

Sobald der Umfang des Angular-Projekts zunimmt, kann die Anzahl der auszuführenden Komponententests enorm sein. Zu diesem Zeitpunkt werden Sie bei der Entwicklung neuer Unit-Tests auf Tests stoßen, die bereits sehr stabil im System sind und blockiert werden müssen, und nur die neuen Unit-Tests, die sich in der Entwicklung befinden, werden ausgeführt. Wie lässt sich diese Anforderung realisieren?

In jedem Angular-Projektordner gibt es eine Zeile mit Anweisungen, die angibt, welche Komponententests in den TS-Dateien unter dem Projekt ausgeführt werden:

const context = require.context('./', true, /\.spec\.ts$/);

Die Angular-Implementierung führt nur neue Unit-Tests aus, die sich in der Entwicklung befinden

Standardmäßig sind alle Tests im src-Verzeichnis beginnend mit Alle Komponententests, die in Dateien enthalten sind, die mit .spec.ts enden, werden ausgeführt.

Wenn ich nur die neu entwickelten Unit-Tests ausführen und alle zuvor entwickelten Unit-Tests blockieren möchte, kann ich viel Aufhebens um die von require.context zurückgegebene Struktur machen.

Fügen Sie einfach die folgenden zwei Anweisungszeilen hinzu:

const FILE = ['./app/ngrxdemo/service/unittest-study/demo.spec.ts'];

context.keys().filter( name => !!FILE.includes(name)).map(context);

Fügen Sie den Pfad der Unit-Test-Datei, die ausgeführt werden muss, in das FILE-Array ein:

Die Angular-Implementierung führt nur neue Unit-Tests aus, die sich in der Entwicklung befinden

Führen Sie ng test in der Befehlszeile aus. Das können Sie jetzt beobachten Im FILE-Array ist nur einer angegeben. Die Testfälle in der Unit-Test-Datei demo.spec.ts wurden ausgeführt:

Die Angular-Implementierung führt nur neue Unit-Tests aus, die sich in der Entwicklung befinden

Die Angular-Implementierung führt nur neue Unit-Tests aus, die sich in der Entwicklung befinden

Weitere programmierbezogene Kenntnisse finden Sie unter: Programmiervideo! !

Das obige ist der detaillierte Inhalt vonDie Angular-Implementierung führt nur neue Unit-Tests aus, die sich in der Entwicklung befinden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen