【发布时间】:2016-10-02 10:15:14
【问题描述】:
客户端我使用 SystemJS 将模块路径存根,如下所示
var systemJsConfig = {
baseURL: "./",
defaultJSExtensions: true,
map: {
'root-components': 'applicationRoot/rootComponents'
}
};
所以require('root-components/foo'); 将映射到applicationRoot/rootComponents/foo。
问题是,如果我在 Mocha 中运行带有 require('root-components/foo'); 的模块,Node 不知道该路径的含义。有没有一种理智的方法可以在 Node 中完成这种路径映射?
Proxyquire 能做到这一点吗?我通读了他们的文档,但没有发现任何迹象。
这仅用于单元测试,因此我对使用任何类型的派对实用程序的任何解决方案都很满意。
【问题讨论】:
-
你看过这个讨论吗? gist.github.com/branneman/8048520。我相信提到的一些解决方案/黑客与您正在尝试做的事情相关。
-
为什么要使用不同的模块加载机制进行测试?为什么不在那里也使用 SystemJs 呢?
-
SystemJS 用于在浏览器中加载内容。 Mocha 在 Node 中运行。
-
@AdamRackis mocha 测试可以在浏览器中运行karma-mocha
标签: javascript node.js mocha.js proxyquire