Допустим, у меня есть угловой компонент 6 с методом test
, который возвращает некоторое значение:
import { doSomething } from './helper';
@Component({
...
})
export class AppComponent {
test() {
const data = doSomething(1);
return data.something ? 1: 2;
}
}
doSomething
- это просто простая вспомогательная функция:
export function doSomething() {
return { something: 1 };
}
Можно ли смоделировать или шпионить за этой функцией в модульном тесте (чтобы я мог контролировать ее returnValue)?Или мне нужно изменить свой подход в компоненте?
Обратите внимание: doSomething()
может быть функцией lodash, const, классом и т. Д. Я просто старался сделать пример как можно более простым.
То, что я пробовал:
SpyOn
не работает, потому что функция не привязана ни к чему
Импорт фиктивной функции в массив imports
с TestBed.configureTestingModule
дает Unexpected value 'doSomething' imported by the module 'DynamicTestModule'. Please add a @NgModule annotation.
Создание службы для нее работает, но глупо создавать службы для каждой из них.импортированная функция