【发布时间】:2013-04-25 20:23:18
【问题描述】:
实习生是否使用 requireJs 加载测试?我正在使用this approach 来模拟我要测试的模块的依赖关系,所以我想知道这是否也适用于 Intern。
【问题讨论】:
标签: unit-testing mocking intern
实习生是否使用 requireJs 加载测试?我正在使用this approach 来模拟我要测试的模块的依赖关系,所以我想知道这是否也适用于 Intern。
【问题讨论】:
标签: unit-testing mocking intern
Intern 使用 Dojo Toolkit 的 AMD 加载程序。要模拟依赖项,您应该能够只使用标准的 AMD map 功能。在您的实习生配置文件中,这样的内容应该可以满足您的需要:
define({
…,
loader: {
map: {
myPackage: {
'myPackage/foo': 'myPackage/mocks/foo',
'herp': 'myPackage/mocks/herp',
'derp': 'myPackage/mocks/derp'
}
}
}
});
有关map 的更多信息,请参阅https://github.com/amdjs/amdjs-api/wiki/Common-Config#map-。
【讨论】:
requires 时所做的完全相同的事情。这是我想添加的一个功能,以更好地支持这个用例。你今天可以通过将undef 函数与map 组合来做类似的事情,但它不那么优雅,所以我不建议直接这样做。在此期间,您应该能够将加载dojo/dojo.js 替换为require.js(在client.html、client.js 和runner.js 中)并且一切应该仍然有效。请提出功能请求。
require.undef API,因此如果您需要修改配置以模拟 AMD 依赖项进行测试,您可以从缓存中删除模块。
不确定这是否会有所帮助。我使用 Dojo 加载器创建了一个用于模拟模块依赖项的模块:https://github.com/stdavis/StubModule
非常适合我的需求。我看不出它在实习生中不起作用但还没有尝试过的任何原因。
【讨论】: