У меня есть mockservice, и мне нужно переопределить ответ службы mock в определенных тестовых случаях, но он принимает значение из службы mock вместо нового ответа в spyon.
здесь у меня есть служба mockи вернуть какое-то значение.
export class MockService {
getProducts() {
const data = [{ 'productI': 1, 'productName': 'Phone', 'price': 19.96 },
{ 'productID': 3, 'productName': 'Phones', 'price': 19.96 },
{
'productID': 2, 'productName': 'Laptop', 'price': 2000.96
}];
return Observable.of(data);
}
}
В спецификации одного из тестовых случаев у меня есть вышеуказанный ответ и успешное выполнение тестового примера.
it('call subscribe get Products and get into success', () => {
spyOn(mockService, 'getProduct').and.returnValue(
observable.of();
)
});
component.ngOnInit();
В других тестовых примерах мне нужно протестировать сценарий сбоя.
it("Test 409 failure in service call',()=>{
spyOn(mockService, 'getProduct').and.returnValue(
throwError({status:409})
});
component.ngOnInit();
});
В этом случае получить значение из предопределенного ложного ответа. Почему оно не попадает в ошибку после предоставления throwError в spyOn