在我的Mocha测试中,我希望从./lib
文件夹中获取文件,而未指定所需文件的相对路径。我想用require('../../../lib/folder/file')
require('folder/file')
我能够通过package.json
实现这一目标:
"scripts": {
"test": "NODE_ENV=test NODE_PATH=./test:./lib mocha test/**/*_spec.js"
}
在修改package.json
之前,我试图像这样在NODE_PATH
中更改test_helper.js
// test/test_helper.js
const path = require('path');
process.env.NODE_PATH = `${process.env.NODE_PATH}:${path.resolve(__dirname, '..', 'lib')}`;
以及我的测试文件中
// test/folder/file_test.js
require('test_helper');
console.log(process.env.NODE_PATH); // outputs ./test:/project-path/lib
const module = require('folder/file');
describe('test', function() {});
当我运行npm test
时,它失败并显示
Error: Cannot find module 'folder/file'
动态配置NODE_PATH
有什么问题?