尝试在单元测试中创建$ httpBackend.expectGET,以返回状态409和自定义statusText的“TestPhrase”。
查看Angular文档(https://docs.angularjs.org/api/ngMock/service/$httpBackend),它给出了以下返回内容的示例:
无法理解如何解释以上示例。
我当前的代码是:
$httpBackend
.expectGET('/example/url')
.respond(function () {
return ['409', ['TestPhrase'], {}];
});
我正在测试的代码是:
我从该测试接收到的控制台输出为:
'error, status 409'
'error, statusText '
预期输出为:
'error, status 409'
'error, statusText TestPhrase'
最佳答案
该文档说:
您正在做第二个选择,传递一个返回数组的函数。这是应该起作用的方法。状态文本是第四项。 (为清楚起见,我包括了可选的函数参数。)
$httpBackend
.expectGET('/example/url')
.respond(function (method, url, data, headers) {
return [409, 'response body', {}, 'TestPhrase'];
});