我必须使用karma编写一个测试用例来代码。
$scope.getUserDetails = function (param) {
Api.getData(param).then(function (result) {
Api.getVal(result).then(function (data) {
var display = Api.userDetails(result.id, result.name);
$scope.username = display.name;
});
});
};
但我面临的问题是由于测试用例由于回调函数中缺少参数而失败。我尝试了很多方法。但由于result.id未定义,测试用例失败。以下只是我的测试用例的支架。 ' apiCall'在beforeEach中定义。
it('should test the getData()', function () {
var user = 'John';
scope.getUserDetails(123);
deferred.resolve(user);
spyOn(apiCall, 'getData').and.returnValue(deferred.promise);
});