In diesem Handbuch werden automatisierte Tests in Angular 5-Projekten untersucht, die Einheiten und End-to-End-Tests abdecken. Die integrierten Testfunktionen von Angular, die über das Angular CLI oder das schnelle Startprojekt zugänglich sind, sind zentral.
Dieser Leitfaden bietet ein grundlegendes Verständnis. Eine umfassende Behandlung würde eine viel längere Ressource erfordern.
Schlüsselkonzepte:
TestBed
(Konfigurieren von Testmodulen), Jasmine (Schreiben von Tests), Karma (Browser-Testausführung) und Prospraktor (End-to-End-Test) sind Schlüsseltechnologien. TestBed
und asynchrone Versorgungsunternehmen ermöglichen dies. TestBed
für die Isolierung Scheindienste oder Schemas wie NO_ERRORS_SCHEMA
. coverageIstanbulReporter
Berichte erstellen
ng lint
Voraussetzungen: Ein starkes Verständnis für Angular 4 -Grundlagen und Vertrautheit mit automatisierten Testkonzepten werden angenommen. Diese Anleitung verwendet Angular 5.2. Beispielcode ist verfügbar (Link zum Github -Repository würde hier gehen).
Testtechnologien:
TestBed
zum Konfigurieren von Testmodulen). Beispiel: TestBed.configureTestingModule({ imports: [ RouterTestingModule ], declarations: [ DashboardComponent ], schemas: [ NO_ERRORS_SCHEMA ], providers: [ { provide: HeroService, useClass: MockHeroService } ], }) .compileComponents();
describe('createCustomer', () => { it('should create new customer', (customer) => { // ...assertions... }); // ...more tests... });
karma.conf.js
. Beispielkonfiguration Snippet: module.exports = function (config) { config.set({ // ...configuration details... browsers: ['Chrome'], // ...more configuration... }); };
protractor.conf.js
. Einheitstest:
Ausführen ng test
führt Tests durch. In der Anleitung wird dann beschrieben, wie gemeinsame Probleme wie Testen von Komponenten mit Abhängigkeiten (andere Komponenten, Module, Dienste) unter Verwendung von Techniken wie Mocking oder NO_ERRORS_SCHEMA
angegangen werden. Das Beispiel zeigt, wie Komponenten testen, die FormsModule
und RouterTestingModule
verwenden. Testkomponenten, die Dienste verwenden
Service -Test: Das Handbuch bietet ein Beispiel für das Testen eines Dienstes, der mit mit HttpClientModule
interagiert, um Anforderungen und Antworten zu steuern und verschiedene Testszenarien zu erstellen. HttpTestingController
End-to-End-Test: In dem Handbuch werden End-to-End-Tests mit dem Protraktor eingeführt, zeigt, wie Helferfunktionen (z. B. in ) erstellt werden und E2E-Tests (z. B. in "in" in "schreiben können (z. B. in" app.po.ts
). Ein Beispiel zeigt das Testen der Navigation und das Überprüfen des angezeigten Textes. app.e2e-spec.ts
Codeabdeckung: In dem Handbuch wird erläutert, wie Code -Abdeckungsberichte mit und wie Sie die Abdeckungsschwellen in ng test --watch=false --code-coverage
karma.conf.js
konfigurieren können.
Zusätzliche Dienstprogramme: Die Anleitung empfiehlt die Verwendung ng lint
für Code -Lining und Visual Studio -Code für seine intelligenten Code -Bearbeitungsfunktionen (IntelliSense, Fehler -Hervorhebung, Winkelverlängerungen). Die Vorteile der kontinuierlichen Integration (CI) werden ebenfalls erwähnt.
Wenn Sie Tests schreiben: Der Handbuch schließt mit der Diskussion, wann es angemessen ist, Tests (nach Prototyping, mit ausreichender Finanzierung) zu schreiben, und die Vorteile der testgetriebenen Entwicklung (TDD). Es betont die Bedeutung von Tests für produktionsbereite Anwendungen. Ein FAQ -Abschnitt befasst sich mit häufigen Fragen zu Winkeltests.
Das obige ist der detaillierte Inhalt vonWinkelprüfung: Einführung eines Entwicklers. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!