3

我有一个项目使用Browserify和 ES6 来处理导入和定义包。该项目在使用Gulp-Browserify构建时使用“paths”选项使用绝对路径。

这适用于源代码,但现在我正在尝试使用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 中设置绝对路径列表,类似于浏览器化?

4

1 回答 1

2

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

测试/mocha.opts

--require test/_bootstrap.js

测试/_bootstrap.js

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

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

于 2016-02-22T12:09:41.767 回答