在运行时和单元测试问题上需要文件

Require file on runtime & unit test issue

我使用 require.js 在 运行 加载文件,如下所示 当我 运行 文件在正确的上下文中时(我的意思是当调用来自正确的路径时),这按预期工作

module1.js

define(["otherModule"], function(otherModule) {
 working!!!
....

现在我想为这个文件 (module1) 创建一些单元测试 其他上下文(来自项目不同位置的测试文件夹)并且我收到错误

require.js:145 Uncaught Error: Script error for: otherModule

因为它试图 运行 在 单元测试 期间走上这条路 它位于不同的项目结构中......

https://app/path1/path2/path3/otherModule.js

并且在 运行time 中有效(从不同的上下文)它在路径

中找到它

https://app/path1/path2/path3/path4/path5/otherModule.js

请求中有额外的路径 4 和路径 5, 我应该如何解决它才能在这两种情况下工作 (UT/Runtime) ?

http://requirejs.org

我认为您应该能够通过应用 RequireJS 配置文件来使其工作,以便从其路径中提取模块名称:

例如在测试上下文中,调用这样的东西作为初始化步骤:

  require.config({
    baseUrl: "/path1/path2/path3"
  });

或者,您也可以像这样重新映射单个模块(这也可用于注入特定模块的不同实现以进行测试等):

  require.config({
    paths: {
        "otherModule": "/path1/path2/path3/otherModule"
    }
  });

看这里:http://requirejs.org/docs/api.html#config