【发布时间】:2015-03-27 21:40:57
【问题描述】:
我一直在更改我组织的底层基础架构,以将我们的自动化测试从使用单独的 Web 服务器在浏览器客户端中运行切换到在测试运行程序(实习生运行程序)中运行。在测试运行器环境中,事情进展顺利——我已经解决了很多问题,但随后繁荣!有人丢弃了一个新的单元测试,它在浏览器客户端中运行得很好,但是当我用测试运行器运行它时,我得到了这个错误:
! TypeError: deps.map 不是http://9.77.140.51:9000/__intern/node_modules/dojo/dojo.js:678的函数
dojo.js 中的第 678 行是这样的:
resolveDeps = function (deps, module, referenceModule) {
// resolve deps with respect to this module
return deps.map(function (dep, i) { // <-- Line 678!
var result = getModule(dep, referenceModule);
if (result.fix) {
result.fix = function (m) {
module.deps[i] = m;
};
}
return result;
});
},
我根本没有改变这个文件。我不知道 resolveDeps() 函数的作用或“deps”是什么。
我看不出这个新测试有什么不寻常的地方,与其他数百个测试都很好通过的测试相比,没有什么特别之处(但是,我没有写它)。浏览器客户端没有报告错误。使用测试运行程序运行时,打开开发人员工具查看控制台没有提供任何有意义的信息,因为 TypeError 似乎杀死了 HTTP 代理服务器,而浏览器控制台只显示了一堆 404,这看起来像红鲱鱼,因为服务器已停止。
谁有线索?
【问题讨论】: