进行单元测试时,我倾向于在项目结构的顶部有一个名为test
的目录,该目录结构模仿要测试的源代码。但是,这些目录可能会变得很深,例如
app/src/js/models/User.js
也许有一个测试
test/app/src/js/models/User.js
.
现在,当我想包含 User.js
模块时,我使用 require('../../../../../app/src/js/models/Users.js')
非常麻烦。
理想情况下,我想使用 require('/app/src/js/models/User.js')
或者甚至 require('User.js')
.
这可能吗?我正在使用 grunt-mocha-test ,但我认为这个问题更笼统。
最佳答案
您可以使用多个选项。你最好的选择可能是使用一些 npm 模块,例如 this one .在 npm 注册表中搜索 require,有很多选项,因此请选择适合您需要的选项。
或者,您可以编写一些辅助函数来执行类似的操作。
如果您正在寻找某种原生方式(内置于 Node.js)来实现这一点,遗憾的是没有。您将不得不使用自定义函数或 npm 模块以某种不错的、可重用的方式执行此操作。
关于node.js - 使用 grunt mocha 避免 require(../../../..) 相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27755957/