gpt4 book ai didi

javascript - Angular $httpBackend.expectGET - 响应 409 状态和自定义 statusText

转载 作者:数据小太阳 更新时间:2023-10-29 05:45:25 25 4
gpt4 key购买 nike

尝试在单元测试中创建 $httpBackend.expectGET 以返回 409 状态和“TestPhrase”的自定义 statusText。

查看 Angular 文档 ( https://docs.angularjs.org/api/ngMock/service/$httpBackend ) 它给出了以下返回内容的示例:

{function([status,] data[, headers, statusText]) | function(function(method, url, data, headers)}

无法理解如何解释上述示例。

我当前的代码是:

      $httpBackend
.expectGET('/example/url')
.respond(function () {
return ['409', ['TestPhrase'], {}];
});

我正在测试的代码是:

  $http.get('/example/url').then(function (response) {
console.log('success, status ' + response.status);
console.log('success, statusText ' + response.statusText);
}, function(response) {
console.log('error, status ' + response.status);
console.log('error, statusText ' + response.statusText);
}
});

我从这个测试中收到的控制台输出是:

'error, status 409'
'error, statusText '

预期输出是:

'error, status 409'
'error, statusText TestPhrase'

最佳答案

文档说:

respond{function([status,] data[, headers, statusText]) | function(function(method, url, data, headers)} – The respond method takes a set of static data to be returned or a function that can return an array containing response status (number), response data (string), response headers (Object), and the text for the status (string).

您正在执行第二个选项,传递一个返回数组的函数。这是应该起作用的。状态文本是第 4 项。 (为清楚起见,我包含了可选的函数参数。)

$httpBackend
.expectGET('/example/url')
.respond(function (method, url, data, headers) {
return [409, 'response body', {}, 'TestPhrase'];
});

关于javascript - Angular $httpBackend.expectGET - 响应 409 状态和自定义 statusText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23937505/

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