Я тестирую Angular-компонент, который вызывает сервисный метод.Внутри компонента я изменяю некоторые поля ответа перед продолжением, например:
ngOnInit() {
this.myService.myMethod(requestData).subscribe(response => {
response.list.forEach(item => {
item.someField = someValue;
})
});
...
}
Для тестирования я создал ложный ответ, подобный следующему:
const mockServiceResponse = {
list: [],
...
}
const myServiceSpy = jasmine.createSpyObj('MyService',['myMethod']);
myServiceSpy .myMethod.and.returnValue( of(mockServiceResponse ) );
Проблема в том, что;У меня есть несколько тестов, и для каждого теста вызывается ngOnInit.Когда я изменяю поля ответа службы, при каждом запуске mockServiceResponse объект изменяется, и второй тестовый пример получает измененную версию ответа.Это не проблема для компонентной сети, потому что я на самом деле получаю новый ответ каждый раз, когда вызываю метод, но для тестирования это приводит к сбою моих тестовых случаев.Любые идеи о том, как я могу получить свежую версию mockServiceResponse для каждого теста?