【发布时间】:2019-07-08 18:23:48
【问题描述】:
MethodToBeTested() {
this.serviceA.methodA1().subscribe((response) => {
if (response.Success) {
this.serviceA.methodA2().subscribe((res) => {
this.serviceB.methodB1();
})
}
});
}
这是场景。
要测试的东西:
-
serviceA.methodA1().被调用。 - 如果 response.Success 则检查是否调用了
serviceA.methodA2() - 检查
serviceB.methodB1()是否在serviceA.methodA2()收到值时被调用。
首先,易于测试。
let spy = spyOn(serviceA, 'methodA1');
expect(spy).toHaveBeenCalled();
但是一个测试 2 和 3 吗?
let spy= spyOn(serviceA, 'methodA1').and.returnValue({subscribe: () => {success:true}});
subject.MethodToBeTested();
类似的东西?
【问题讨论】:
标签: javascript angular typescript unit-testing karma-jasmine