将ngMockE2E添加到依赖项后,页面出错并且无法加载视图html
Error: Unexpected request: GET views/main.html
No more request expected
我的依赖项:
angular
.module('mockApp', [
'ngAnimate',
'ngCookies',
'ngResource',
'ngRoute',
'ngSanitize',
'ngTouch',
'ngMockE2E'
])
没有最后一行一切正常
我已将文件添加到index.html并使用bower加载库。我可以在run方法中打印$ httpBackend并打印源代码
.run(function($httpBackend, $log) {
$log.debug('got there backend: ' + $httpBackend);
});
答案 0 :(得分:1)
我发现了什么是错的。
创建模拟后,您需要绕过模型页面(在我的项目中,有.html文件),使用:
app.run(function($httpBackend) {
...
$httpBackend.whenGET(/\.html$/).passThrough();
...
}
答案 1 :(得分:1)
您需要在所有模拟请求之后为模板定义传递(请参阅official API reference for $httpBackend)。
给定一个名为 my-app 的模块和一个包含所有模板的文件夹 views ,此代码可以解决您的问题。
angular.module('my-app').run(function($httpBackend) {
[ . . . $httpBackend requests . . . ]
$httpBackend.whenGET(/^views\/.*/).passThrough();
[ . . . remaining logic, but no $httpBackend requests . . . ]
});
答案 2 :(得分:0)
尝试加载类似下面的内容。
var myApp = angular.module('myApp', []);
如果
,这样可以正常工作var myApp = angular.module('myApp', ['ngMockE2E']);
但不是
myApp.run(function ($httpBackend) {
$httpBackend.whenGET(new RegExp('app\/.*')).passThrough();
});
没有控制台错误,没有渲染视图。为避免这种情况使用
parseDelimitedFrom
此行允许您请求为包含app /作为文件夹根目录的每个资源传递。