角httpBackend美元.expectGET -响应409状态&自定义statusText
Angular $httpBackend.expectGET - respond with 409 status & custom statusText
尝试创建一个$httpBackend。在单元测试中使用expectGET返回状态409和自定义statusText 'TestPhrase'。
查看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'
文档说:
response -
{function([status,] data[, headers, statusText]) | function(function(method, url, data, headers)}
- response方法接受一组要返回的静态数据或一个函数,该函数可以返回一个数组,其中包含响应状态(数字)、响应数据(字符串)、响应头(对象)和状态(字符串)的文本。
你正在做第二个选择,传递一个返回数组的函数。以下是可行的方法。状态文本是第4项。(为了清晰起见,我包含了可选的函数参数。)
$httpBackend
.expectGET('/example/url')
.respond(function (method, url, data, headers) {
return [409, 'response body', {}, 'TestPhrase'];
});
相关文章:
- Dojo不解析自定义小部件的模板html中的小部件声明性
- 在自定义mean.io包中使用angular-chart.js作为依赖项
- jQuery自定义验证比较多个输入的序列
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- 在wordpress一定时间后更改自定义字段
- 表达式引擎扩展开发-向呈现的条目添加自定义javascript
- 在拉力赛中:我是否可以将自定义任务状态映射到拉力赛任务板中的现有任务状态(类似于用户情景的看板)
- AngularJs :将 stateParams 值附加到状态对象中的自定义数据
- 如何设置CKEditor自定义按钮的开-关状态
- 有角度的路由器嵌套状态不继承自定义数据
- Backbone.js如何根据特定的应用程序状态定义一组自定义路由
- 自定义格式复选框YUI,不记得状态
- 如何以编程方式触发自定义插件状态
- 在维护自定义jQuery菜单上的状态时遇到问题
- 先前的状态视图不会保留在带有自定义模态url的打开UI引导模态的后台
- ReactJS自定义三状态复选框将不显示复选标记
- 角httpBackend美元.expectGET -响应409状态&自定义statusText
- jQuery ajax自定义HTTP状态消息在2xx范围内
- 如何从WebAPI向AngularJS返回状态401,并包含自定义消息
- 跨自定义元素的共享行为状态