2017-11-22 6 views
0

Wir haben einige Testfälle für "Testkomponente" geschrieben. Aber wie kategorisieren wir Testfall ist Einheit oder e2e in Angular.In Testing wie zu entscheiden, welche Einheit Testfall und e2e Testfall ist?

+0

Zu breit. Wenn es der Definition von "Unit Test" entspricht, ist es Unit-Test. Wenn es der Definition von "e2e" entspricht, ist es e2e. Ich würde vorschlagen, Ihren aktuellen Test zu veröffentlichen. Kann noch zu breit sein und zu https://codereview.stackexchange.com/ gehören, aber zumindest beantwortet werden kann. – estus

Antwort

1

Der Unterschied zwischen Unit-Test und E2e-Test ist was getestet?

e2e testet Ihre Ansicht und ist abhängig von Ihrer Framework/Bibliothek und der Unit-Test testet Ihre Geschäftslogik.

Wenn ich eine Referenz Ihrer Winkelkomponente ist es sicherlich ein e2e Test, etwa wie folgt:

import { async, ComponentFixture, TestBed } from '@angular/core/testing'; 
import { LoaderComponent } from './loader.component'; 

describe('LoaderComponent',() => { 
    let component: LoaderComponent; 
    let fixture: ComponentFixture<LoaderComponent>; //<- ref of the angular component 

    beforeEach(async(() => { 
    TestBed.configureTestingModule({ 
     declarations: [ LoaderComponent ] 
    }) 
    .compileComponents(); 
    })); 

    beforeEach(() => { 
    fixture = TestBed.createComponent(LoaderComponent); 
    component = fixture.componentInstance; 
    fixture.detectChanges(); 
    }); 

    it('should be created',() => { 
    expect(component).toBeTruthy(); 
    }); 
}); 

Wenn Sie Ihre Komponente mit Winkel CLI erzeugen, eine .spec.ts Datei wird immer generieren mit .css, .html und .ts.


Wenn Sie keinen Hinweis auf Winkel eines anderen Dritt-Framework haben. Ihr Test ist ein Komponententest. Etwas wie folgt aus:

describe("Determine min or max ticket per person",() => { 

    it('Should return the max if the min is greater',() => { 
    const min = 10 
    const max = 5 
    expect(TicketDataSpecification.determineMinPerPerson(min, max)).toEqual(max) 
    }) 

    it('Should return the min if the max is less',() => { 
    const min = 10 
    const max = 5 
    expect(TicketDataSpecification.determineMaxPerPerson(min, max)).toEqual(min) 
    }) 

    it('Should return the quantity if the min is greater',() => { 
    const min = 10 
    const quantity = 5 
    expect(TicketDataSpecification.determineMinPerPersonWithQuantity(min, quantity)).toEqual(quantity) 
    }) 

    it('Should return the quantity if the max is greater',() => { 
    const max = 10 
    const quantity = 5 
    expect(TicketDataSpecification.determineMaxPerPersonWithQuantity(max, quantity)).toEqual(quantity) 
    }) 

}) 

Danach müssen Sie Spezifikation Test, Integrationstest, etc ...

+0

https://Stackoverflow.com/users/7152354/[email protected] danke –

Verwandte Themen