我开始熟悉 Jasmine ( http://pivotal.github.com/jasmine/ ) 并发现一些相当莫名其妙的东西:
it("should be able to send a Ghost Request", function() {
var api = fm.api_wrapper;
api.sendGhostRequest(function(response) {
console.dir('server says: ', response);
});
expect(true).toEqual(false);
});
按预期失败。
但是,在回调中移动期望调用:
it("should be able to send a Ghost Request", function() {
var api = fm.api_wrapper;
api.sendGhostRequest(function(response) {
console.dir('server says: ', response);
expect(true).toEqual(false);
});
});
不知何故通过:O
经过一番调试: api.sendGhostRequest() 做了一个异步ajax请求,在请求完成之前jasmine就冲过去了。
因此问题是:
在确定测试结果之前,如何让 jasmine 等待 ajax 执行?