Proxyquire показывает ошибку «Не удается найти модуль» - PullRequest
1 голос
/ 26 марта 2019

Я пытаюсь использовать proxyquire для замены частной функции для тестирования в моем приложении Meteor.

Meteor 1.6.1

meteortesting: mocha@1.1.2

В моем parentFunction.js:

import { some function } from 'anotherFile';

function childFunction() {
  ...
  return someValue;
}

export default function parentFunction() {
  return childFunction()
}

В моем тестовом файле:

const proxyquire = require('proxyquire');

if (Meteor.isServer) {
  ...

  describe('parentFunction', () => {
    it('uses the mocked child function', () => {
      const testThing = proxyquire('./parentFunction', {
        'childFunction': () => ({ 'name': 'bob' }),
      });
  });
}

parentFunction.js находится в той же папке, что и мой тестовый файл, ипросто чтобы дважды проверить путь, я убедился, что это работает:

import parentFunction from './parentFunction';

Но когда я запускаю тест, я вижу ошибку:

Error: Cannot find module './parentFunction.js'

Что я делаю неправильно?Я пробовал абсолютный путь, который не сработал.И, насколько я вижу из документации, относительный путь в файле, где требуется Proxiquire, должен быть в порядке.

Спасибо за любую помощь!

...