由于回调函数中缺少参数,测试用例失败

时间:2015-03-05 15:12:47

标签: angularjs jasmine karma-jasmine karma-coverage

我必须使用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);
});

0 个答案:

没有答案