在单元测试时,我倾向于在项目结构的顶部有一个名为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,但我认为问题更为一般。
答案 0 :(得分:2)
您可以使用多种选项。你最好的选择可能是使用一些npm模块,例如this one。在npm注册中搜索 require ,有很多选项,所以请根据自己的需要选择。
或者,您可以编写一些类似的辅助函数。
如果您正在寻找一些本地方式(内置于Node.js)来实现这一点,遗憾的是没有。您将不得不使用自定义函数或npm模块以一种不错的,可重用的方式执行此操作。