gpt4 book ai didi

javascript - 在 QUnit 测试中获取 $httpBackend

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:36:03 24 4
gpt4 key购买 nike

我正在为 Angular Controller 编写 QUnit 测试。在模块的设置函数中,我写了以下语句来获取$httpBackend的对象:

 var injector = angular.injector(['ng']);
var httpBackend = injector.get('$httpBackend');

在测试中,GET 的模拟响应配置如下:

httpBackend.expectGET(url).respond([]);

测试规范在此语句中失败并出现错误:对象不支持属性或方法 expectGET

我能够使用相同的注入(inject)器引用获取其他对象,如 Controller 、范围注入(inject)。

我在这里错过了什么吗?

最佳答案

我问了Scott Allen关于这个问题,他用 JSFiddle 回复了我解决了这个问题。他指出,当我们在 QUnit 测试中使用 $httpBackend 或在 angular-mocks.js 中定义的任何其他模拟时,以下装饰器是必不可少的:

$provide.decorator('$httpBackend', angular.mock.e2e.$httpBackendDecorator);

我在示例应用程序中使用了这种方法并将我的学习记录在博客中:http://sravi-kiran.blogspot.com/2013/06/UnitTestingAngularJsControllerUsingQUnitAndSinon.html

关于javascript - 在 QUnit 测试中获取 $httpBackend,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16300485/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com