大佬教程收集整理的这篇文章主要介绍了单元测试 – 单元测试AngularJS服务,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
当使用$httpBACkend来模拟AJAX post(whenPOST)时,你发布的对象是否决定响应?
这是我的服务和我的测试例如:
(function () { "use Strict" var app = angular.module('cs'); app.service('Platecheckservice',['$http',function ($http) { return { checkPlate: function (platenumber) { return $http.post('Platecheck/Index',{ platenumber: platenumber }).then(function (responsE) { return { message: response.data.VehicleAtl === null ? 'Clean' : 'Hot',alertClass: response.data.VehicleAtl === null ? 'alert-success' : 'alert-danger' } }); } } }]); }());
测试
/// <reference path="../libs/angular-1.0.8/angular.js" /> /// <reference path="../libs/angular-1.0.8/angular-mocks.js" /> /// <reference path="../libs/jasmine-1.3.0/jasmine.js" /> /// <reference path="../app.js" /> /// <reference path="../services/plate-check-service.js" /> describe('Plate check service',function () { var httpBACkend,service; beforeEach(function () { module('cs'); inject(function ($httpBACkend,PlatecheckservicE) { httpBACkend = $httpBACkend; httpBACkend.whenPOST('Platecheck/Index',{ platenumber: '123456' }).respond({ response: { message: 'Clean',alertClass: 'alert-success' } }); httpBACkend.whenPOST('Platecheck/Index',{ platenumber: '123456789' }).respond({ response: { message: 'Hot',alertClass: 'alert-danger' } }); service = Platecheckservice; }); }); it('Should return a clean plate.',function () { var result; service.checkPlate('123456').then(function (responsE) { result = response; }); httpBACkend.flush(); expect(result.messagE).toBe('Clean'); expect(result.alertClass).toBe('alert-success'); }); });
检测结果
Test 'Plate check service:Should return a clean plate.' Failed Expected 'Hot' to be 'Clean'. Expected 'alert-danger' to be 'alert-success'. in D:\Code\Scripts\angular\specs\plate-check-service-specs.js (line 35) 0 passed,1 Failed,1 @R_135_10586@l (chutzpah). ========== @R_135_10586@l Tests: 0 passed,1 @R_135_10586@l ==========
看起来它没有考虑到我正在传递给服务器的服务器的platenumber.
我本来会期待这个测试通过.
这有任何意义吗?
以上是大佬教程为你收集整理的单元测试 – 单元测试AngularJS服务全部内容,希望文章能够帮你解决单元测试 – 单元测试AngularJS服务所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。