我有一个使用Browserify和ES6处理导入和定义包的项目。该项目使用“路径”使用绝对路径。使用Gulp-Browserify构建时的选项。
这适用于源代码,但现在我尝试使用Mocha编写测试并使用gulp-mocha运行它们,这会导致问题。 Mocha期待相对路径,但如果我给它一个相对路径到一个文件,其中包含使用绝对路径的其他导入,测试将失败并带有MODULE_NOT_FOUND 错误。
例如
Mocha Import at test/actions/user.js:
import createUser from '../../src/actions/user';
...
Source Import at src/actions/user.js:
import CREATE_USER from 'constants/use
...
将导致MODULE_NOT_FOUND_ERROR
我想知道的是,有没有办法在mocha中设置绝对路径列表,类似于如何进行浏览?
答案 0 :(得分:2)
您可以使用app-require-path。只需将其安装为dev dep并添加以下两个文件:
<强>测试/ mocha.opts 强>
--require test/_bootstrap.js
<强>测试/ _bootstrap.js 强>
require('app-require-path')(__dirname + '/..');
就是这样。您可以将 _bootstrap.js 中的路径更改为您想要的任何内容。您还可以添加多个路径。它取决于你。