【发布时间】:2019-11-22 14:14:16
【问题描述】:
我正在尝试为具有 Ajax 调用的 javascript 文件编写 jasmine 单元测试。不知道如何通过茉莉花测试覆盖“成功”功能下的部分。
代码sn-p如下
function getGroups(){
var defer = _$q.defer();
$.ajax( {
url: 'xyz',
data: 'abc',
async: false,
type: 'POST',
dataType: 'xml',
success: function( xml ) {
var groups = [];
groups = xml.getElementsByTagName( 'requiredGroup' );
defer.resolve( groups );
}
} );
return defer.promise;
}
我尝试了以下解决方案,但这不包括成功函数下的代码:
describe("getGroups() does ajax call", function() {
beforeEach(function() {
spyOn($, 'ajax');
});
it("call on success", function() {
getGroups();
expect($.ajax).toHaveBeenCalled();
});
});
【问题讨论】:
标签: javascript ajax karma-jasmine