Структура моей папки:
├──wrapper.js
├──lib
| └──zwportal.js
├── __tests__
│ └── wrapper.test.js
── __mocks__
│ └── zwportal.js
|
В wrapper.js
:
const portal = require('./lib/zwportal.js')
Поскольку zwportal.js очень сложен, я использую mock, помещенный в папку mocks . Итак, в моем тесте:
'use strict';
// Mocking dependencies
jest.mock('../lib/zwportal.js');
zwportal = require('../lib/zwportal.js');
Хауэр, когда я бегу:
jest
это говорит:
FAIL __tests__/wrapper.test.js
● Test suite failed to run
Cannot find module 'abstract-socket' from 'avro-utils.js'
На самом деле, эти файлы, abstract-socket
и avro-utils
, находятся в оригинальном "немодированном" zwportal.js
. Кажется, что шутка не издевается над этим файлом. Почему?
EDIT
В моем тестовом наборе, если я напишу:
jest.mock('../lib/zwportal.js', () => {});
zwportal = require('../lib/zwportal.js');
проблем не возникает. Тем не менее, мне нужно издеваться над поведением издевательства.