TestDouble, как издеваться над именованным экспортом в Typescript?
Я пытаюсь издеваться над модулем с некоторыми именованными экспортами в нем:
Это то, что у меня сейчас есть, но на основе документации
td.replace('uuid');
import all from 'uuid';
td.replace(all, 'v4', td.function());
td.when(all.v4()).thenReturn('uuid');
Я ожидал, что это сработает примерно так.
const { v4 } = td.replace('uuid');
td.when(v4()).thenReturn('uuid');
Но он жалуется, что v4 не является функцией.
Еще небольшой вопрос:
Кажется, нам нужно
td.replace
перед импортом компонента, который мы тестируем. Я ожидаю, что это будет сделано в
beforeEach
метод, он выглядит чище только.
td.replace("./foo")
....
import { callMe } from "./moduleToTest" // Assume this imports { foo } from "./foo"
Кроме того, почему это не работает?
td.replace("./foo", () => { foo : td.function() } )
Я что-то упустил здесь?