Gulp Mocha和Browserify

时间:2016-02-22 06:27:20

标签: unit-testing mocha browserify gulp-mocha

我有一个使用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中设置绝对路径列表,类似于如何进行浏览?

1 个答案:

答案 0 :(得分:2)

您可以使用app-require-path。只需将其安装为dev dep并添加以下两个文件:

<强>测试/ mocha.opts

--require test/_bootstrap.js

<强>测试/ _bootstrap.js

require('app-require-path')(__dirname + '/..');

就是这样。您可以将 _bootstrap.js 中的路径更改为您想要的任何内容。您还可以添加多个路径。它取决于你。