首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jasmine测试:$timeout.flush()导致“意外获取请求”错误

Jasmine测试:$timeout.flush()导致“意外获取请求”错误
EN

Stack Overflow用户
提问于 2014-09-07 15:29:46
回答 1查看 1.3K关注 0票数 5

我有以下测试:

代码语言:javascript
复制
it('should load productGroups into the scope', function(){
  scope._section = 'modifiers';
  scope.userData = {method: 'manual'};
  scope.$digest();
  timeout.flush();//causes the error

  expect(scope.productGroups).toEqual(productGroupService.getProductGroups());
});

现在,我试图测试的操作发生在超时为0的时间内,因为我在同步存储在cookie中的数据时存在一些问题。

现在,如果没有标记行,测试将运行find,除非未获得预期的结果。使用标记行,我得到以下错误:

代码语言:javascript
复制
    Error: Unexpected request: GET views/main.html
    No more request expected
        at $httpBackend (/home/oleg/dev/vita-webapp-new/bower_components/angular-mocks/angular-mocks.js:1178:9)
        at sendReq (/home/oleg/dev/vita-webapp-new/bower_components/angular/angular.js:8180:9)
        at $http.serverRequest (/home/oleg/dev/vita-webapp-new/bower_components/angular/angular.js:7921:16)
        at wrappedCallback (/home/oleg/dev/vita-webapp-new/bower_components/angular/angular.js:11319:81)
        at wrappedCallback (/home/oleg/dev/vita-webapp-new/bower_components/angular/angular.js:11319:81)
        at /home/oleg/dev/vita-webapp-new/bower_components/angular/angular.js:11405:26
        at Scope.$eval (/home/oleg/dev/vita-webapp-new/bower_components/angular/angular.js:12412:28)
        at Scope.$digest (/home/oleg/dev/vita-webapp-new/bower_components/angular/angular.js:12224:31)
        at Scope.$apply (/home/oleg/dev/vita-webapp-new/bower_components/angular/angular.js:12516:24)
        at Object.fn (/home/oleg/dev/vita-webapp-new/bower_components/angular/angular.js:14023:36)


Process finished with exit code 0

显然,main.html是此控制器的视图,尝试将其与以下代码放在templateCache中,但没有帮助:

代码语言:javascript
复制
$templateCache.put('views/main.html', $templateCache.get('app/views/views/main.html'));

如能提供任何援助,将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-07 17:10:08

我想出的解决办法是:

代码语言:javascript
复制
$httpBackend.when('GET', 'views/main.html').respond('');

beforeEach函数中

其他的似乎没什么不管用的。

虽然这是一个用于单元测试的工作解决方案,但它永远不会适用于E2E测试。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25711871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档