Как смоделировать импорт JSON Jest TypeScript - PullRequest
0 голосов
/ 17 декабря 2018

Я хочу смоделировать файл .json с помощью Jest для модульного тестирования в Typescript.

В настоящее время я использую этот глобальный макет внутри файла jest.config.js.И это работает нормально:

    'package.json': '<rootDir>/__tests__/tasks/__mocks__/data.json'

Но я хочу сделать это локально, внутри моего тестового класса.

Это не сработало для меня:

jest.mock('../../package.json', () => ({
    package : { name: '__name__', 'version': '__version__'};
}), { virtual: true })

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

вы можете смоделировать класс и назначить экспорт этого файла по умолчанию для переменной следующим образом:

jest.mock('../../utils/api/api');
const FakeClass = require('../someFile.js').default;

, а затем получить доступ к вызовам функции вашего класса-макета следующим образом:

FakeClass.prototype.myFunc.mock.calls
0 голосов
/ 17 декабря 2018

Вы пробовали следующее?

const packageJson = require('../../package.json); jest.mock(packageJson, () => ({ package : { name: '__name__', 'version': '__version__'}; }), { virtual: true })

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...