Ich stehe vor einem seltsamen Problem mit einer Test-Suite, die ich eingerichtet habe.Angular2 Unit Testing SpyOn mit Karma und Jasmin
Vorlage:
<a href="#" (click)="blop($event)"></a>
HomeComponent:
export class HomeComponent {
public test: boolean;
public constructor() {
this.test = false;
}
public blop($event) {
this.test = true;
}
}
Der Test:
describe('Home Component : ',() => {
var builder;
var app;
beforeEach(inject([HomeComponent, TestComponentBuilder], (app, tcb) => {
builder = tcb;
app = app;
}));
it('should return test = true after click...', async(() => {
builder.createAsync(HomeComponent).then((fixture: ComponentFixture<HomeComponent>) => {
spyOn(fixture.componentInstance, 'blop');
fixture.detectChanges();
var compiled = fixture.debugElement.nativeElement;
compiled.querySelector('a').click();
expect(fixture.componentInstance.test).toBe(true);
expect(fixture.componentInstance.blop).toHaveBeenCalled();
});
}));
});
Ich erhalte eine Fehlerausgabe auf: Erwarteter falsch wahr zu sein.
ABER, wenn ich den Spion kommentiere und den letzten erwarte, funktioniert es.
Haben Sie eine Ahnung, was ich falsch mache?
Dank
M
Könnten Sie geben mehr Details über Ihre 'HomeComponent' Komponente? Vielen Dank! –