我正在尝试使用在构造函数中调用并包含可观察的私有方法来测试服务:
import {Injectable} from '@angular/core';
import {Observable} from 'rxjs/Observable';
import 'rxjs/add/observable/interval';
@Injectable()
export class SomeService {
private booleanValue: boolean = false;
constructor() {
this.obsMethod();
}
private obsMethod() {
Observable.interval(5000).subscribe(() => {
this.booleanValue = !this.booleanValue;
});
}
public getBooleanValue() {
return this.booleanValue;
}
}
Run Code Online (Sandbox Code Playgroud)
我准备了三个规格。首先是使用new运营商创建的简单服务实例。它有效。二是TestBed.get()注射。它也有效。
当我inject在beforeEach规范中使用时不起作用。但为什么?同时使用fakeAsync和inject使用有问题吗?我怎样才能同时使用它们?
我使用服务和三个规范在 plunker 上创建了工作演示。