В моих тестах 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
динамически?