Chr*_*ris 5 mocha.js node.js ecmascript-6
我正在开发一个 NodeJS (v. 8.12.0, EcmaScript 6) 项目,其项目结构类似于:
project_root/
src/
utils/
protocol_messages/
helpers.js
tests/
unit/
utils/
protocol_messages/
helpers.js
Run Code Online (Sandbox Code Playgroud)
我正在使用 Mocha 作为测试框架编写测试。
问题
在helpers.jsunder 中tests/unit/utils/protocol_messages/,导入被测模块的正确方法是什么?
详细说明:
我想避免使用相对路径:require('../../../../../src/utils/protocol_messages/helpers')。
它有效,但很丑陋,如果项目结构发生变化,我也必须重写测试导入。
(我是 Javascript 的新手,所以我可能做错了几件事。)
更新此问题中
提供的解决方案:
require.main.require:在对此答案的评论中,“如果代码包含像 Mocha 测试这样的单元测试,则此解决方案将不起作用”。node_modules我src/的 NodeJS 项目的项目根目录下有一个额外的东西似乎没有意义。如果我在以上任何一点上有错误,请指出,因为我不知所措。在我看来,NodeJS 没有提供使用绝对路径导入 CommonJS 模块的本机方式。
| 归档时间: |
|
| 查看次数: |
1217 次 |
| 最近记录: |