我有一個規範的代碼來測試像這樣angular2使用茉莉的訂閱方法
it('login test',() => {
const fixture = TestBed.createComponent(component);
fixture.detectChanges();
let authService = fixture.debugElement.injector.get(Auth);
spyOn(authService, 'login').and.returnValue('');
const elements = fixture.nativeElement;
fixture.componentInstance.login();
expect(authService.login).toHaveBeenCalled();
});
和實現這樣的代碼
login() {
this.auth.login(this.username, this.password).subscribe(() => {
}
});
}
提示錯誤測試:
this.auth.login(...).subscribe is not a function
爲什麼會發生這種錯誤?
適合我!謝謝 –
對於第一種選擇,是否有任何方法返回值?像這樣的例子:and.returnValue({subscribe:()=> {count:1000}}); – abyrne85