【发布时间】:2017-06-29 09:36:49
【问题描述】:
我想测试一个使用异步管道的组件。这是我的代码:
@Component({
selector: 'test',
template: `
<div>{{ number | async }}</div>
`
})
class AsyncComponent {
number = Observable.interval(1000).take(3)
}
fdescribe('Async Compnent', () => {
let component : AsyncComponent;
let fixture : ComponentFixture<AsyncComponent>;
beforeEach(
async(() => {
TestBed.configureTestingModule({
declarations: [ AsyncComponent ]
}).compileComponents();
})
);
beforeEach(() => {
fixture = TestBed.createComponent(AsyncComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should emit values', fakeAsync(() => {
tick(1000);
fixture.detectChanges();
expect(fixture.debugElement.query(By.css('div')).nativeElement.innerHTML).toBe('0');
});
但是测试失败了。由于某种原因,Angular 似乎没有对 Observable 执行。我错过了什么?
当我尝试使用 do 运算符记录 observable 时,我在浏览器控制台中看不到任何输出。
【问题讨论】:
标签: javascript angular testing