Javascript 运行时需要文件&;单元测试问题

Javascript 运行时需要文件&;单元测试问题,javascript,node.js,unit-testing,requirejs,amd,Javascript,Node.js,Unit Testing,Requirejs,Amd,我使用require.js在运行时加载文件,如下所示 当我在正确的上下文中运行文件时(我的意思是当调用来自正确的路径时),这将按预期工作 module1.js define(["otherModule"], function(otherModule) { working!!! .... 现在,我想从中为这个文件(module1)创建一些单元测试 其他上下文(来自项目中不同位置的测试文件夹)和我得到的错误 require.js:145 Uncaught Error: Script error

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

module1.js

define(["otherModule"], function(otherModule) {
 working!!!
....
现在,我想从中为这个文件(module1)创建一些单元测试 其他上下文(来自项目中不同位置的测试文件夹)和我得到的错误

require.js:145 Uncaught Error: Script error for: otherModule
因为它在单元测试期间尝试在此路径上运行get 位于不同的项目结构中

在运行时(从不同的上下文)它会在路径中找到它

请求中还有其他路径4和路径5起作用, 我应该如何解决这两种情况(UT/运行时)


我认为您应该能够通过应用RequireJS配置文件使其工作,这样模块名称就可以从其路径中抽象出来:

例如,在测试上下文中,调用如下内容作为初始化步骤:

  require.config({
    baseUrl: "/path1/path2/path3"
  });
或者,您也可以像这样重新映射单个模块(这也可以用于注入特定模块的不同实现以进行测试等):


请参见此处:

谢谢,但您能否在我的上下文中举例说明“模块名称是从其路径中抽象出来的”这是什么意思,以及它建议如何做。。。链接中的示例太笼统,再次感谢您的支持@RaynD我添加了一个例子,希望这有帮助。谢谢,我应该把第一个建议和第二个建议放在哪里?对于第一个,您是指在定义单元测试之前?对于第二个,重新映射单个模块意味着什么?在测试设置例程中创建新的映射器模块?@RaynD,而不是在
module1.js
文件中。位置和方式取决于您的单元测试框架,所以我不能更具体。
  require.config({
    paths: {
        "otherModule": "/path1/path2/path3/otherModule"
    }
  });