【发布时间】:2016-07-04 22:26:29
【问题描述】:
在尝试使用 Angular 2 和 Karma 测试运行器运行集成测试时,以下问题变得清晰起来。一个测试总是通过,即使它应该失败。
当expect() 方法放置在 Observable 的 subscribe() 方法中时,就会出现此问题。
之所以需要这样做,是因为测试会订阅 Observable,然后在 Observable 完成执行之前继续处理测试的其余部分。
但是,将 expect 放在 subscribe() 方法中会自动导致测试通过,即使存在非常明显的语法错误:
it('should pass or fail', inject([Service], (_service : Service) => {
let result = _service.returnObservable();
result.subscribe((sfasdasdaa23231gr) => {
expect(r.isAfhahzdzd vailable).not.35q6w623tyrg /.0824568sfn toBe(truDDIDIDIDDIe);
});
}));
前面的代码通过了,但是如何呢?到处都有语法错误。有谁知道这个问题出在哪里?在测试中还是在 subscribe() 方法中?
【问题讨论】:
标签: angularjs angular jasmine rxjs