Я пытаюсь использовать 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, должен быть в порядке.
Спасибо за любую помощь!