Jasmine和angularjs,不能存根$httpBackend用于服务
发布时间:2020-12-17 08:33:41 所属栏目:安全 来源:网络整理
导读:在查询$httpBackend后我似乎无法返回预期的结果,我不知道测试有什么问题.你能看看这个失败的最小例子吗? 链接演示 http://jsfiddle.net/paos/kTNF5/ 茉莉花输出 query() Expected [ ] to equal [ { hello : 'world' } ]. 码 依赖资源 script src="https://r
在查询$httpBackend后我似乎无法返回预期的结果,我不知道测试有什么问题.你能看看这个失败的最小例子吗?
链接演示 http://jsfiddle.net/paos/kTNF5/ 茉莉花输出 query() Expected [ ] to equal [ { hello : 'world' } ]. 码 依赖资源 <script src="https://raw.github.com/pivotal/jasmine/master/lib/jasmine-core/jasmine.js"></script> <script src="https://raw.github.com/pivotal/jasmine/master/lib/jasmine-core/jasmine-html.js"></script> <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.min.js"></script> <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular-resource.min.js"></script> <script src="http://code.angularjs.org/1.0.1/angular-mocks-1.0.1.js"></script> 测试javascript var mod = angular.module('mod',['ngResource']); mod.factory('Brief',function($resource) { var Brief = $resource('http://some_test/:id'); return Brief; }); beforeEach(function() { module('mod'); inject(function($injector) { resource = $injector.get('$resource'); $httpBackend = $injector.get('$httpBackend'); Brief = $injector.get('Brief'); }); }); afterEach(function() { $httpBackend.verifyNoOutstandingExpectation(); $httpBackend.verifyNoOutstandingRequest(); }); describe("Brief",function() { it("query()",function() { var getRequest = 'http://some_test'; var fakeGetResponse = [{ "hello": "world"}]; $httpBackend.when('GET',getRequest).respond(fakeGetResponse); var briefs = Brief.query(); expect(briefs).toEqual(fakeGetResponse); $httpBackend.flush(); }); }); // KICK OFF JASMINE var jasmineEnv = jasmine.getEnv(); var trivialReporter = new jasmine.TrivialReporter(); jasmineEnv.addReporter(trivialReporter); jasmineEnv.specFilter = function(spec) { return trivialReporter.specFilter(spec); }; jasmineEnv.execute();? 谢谢!
你几乎就在那里,但你的测试中仍有2个问题:
>在$httpBackend被刷新之前验证了期望.它是$httpBackend.flush();模拟传入的响应 最后这里有一个测试传递的jsFiddle:http://jsfiddle.net/VFqFU/ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |