我正在尝试测试通过引用使用HTML模板的AngularJS指令。因此,它发出一个http请求。
我正在尝试使用httpBackend.whenGET(“ ....”)。respond(function)捕获对模板的所有请求,以从本地存储加载该模板。
关键是永远不会调用该函数。我知道它与路径匹配,因为它没有显示错误消息,表明未预期到该呼叫。
顺便说一句,我更喜欢用这种方式而不是使用html2js。
举个例子。 如果我设置了后端。当错误(路径不匹配)时,我会得到错误
错误:意外请求:GET resources / js / app / views / search / parts / con-search-filter / template.html 预计不会有更多请求
如果我在代码中执行(并且我知道何时调用GET):
httpBackend.whenGET(/(.*)template.html/, undefined, undefined,
["basePath"]).respond(function(method, url, data, headers, params){
debugger;
console.log("hello");
return [200, []];
});
然后,先前的错误消失了。关键是没有命中断点(debugger;),也没有打印“ hello”。
我正在导入angular-mocks v1.5.11,并且根据文档,在第1255行中,我应该能够做到
$httpBackend.whenPATCH(/\/user\/(.+)\/article\/(.+)/, undefined, undefined, ['user', 'article'])
.respond(function(method, url, data, headers, params) {
// for url of '/user/1234/article/567' params is {user: '1234', article: '567'}
});
我正在使用chrome驱动程序使用jasmine-maven-plugin 2.2版本。我正在执行bdd目标。
答案 0 :(得分:0)
我知道是什么了。只是,请求处于待处理状态,因此我不得不执行httpBackend.flush()。