在查询$ httpBackend后我似乎无法返回预期的结果,我不知道测试有什么问题.你能看一下这个失败的最小例子吗?
http://jsfiddle.net/paos/kTNF5/
query() Expected [ ] to equal [ { hello : 'world' } ].
Run Code Online (Sandbox Code Playgroud)
<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>
Run Code Online (Sandbox Code Playgroud)
测试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();?
Run Code Online (Sandbox Code Playgroud)
谢谢!
pko*_*rce 12
你几乎就在那里,但你的测试中仍有2个问题:
$httpBackend被冲洗之前,期望得到了验证.它$httpBackend.flush();模拟了传入的响应$resource将创建一个新数组,如/sf/answers/837655871/中所述.您需要比较对象的值而不是引用.这样做的一种方法是:expect(angular.equals(briefs, fakeGetResponse)).toBeTruthy();最后这里有一个测试传递的jsFiddle:http://jsfiddle.net/VFqFU/
| 归档时间: |
|
| 查看次数: |
6064 次 |
| 最近记录: |