我正在尝试使用proxyquire代替私有功能以在我的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的相对路径应该没问题。
感谢您的帮助!