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() } )

Я что-то упустил здесь?

0 ответов

Другие вопросы по тегам