0

我正在为我的 UserRepository 编写一个 javascript 测试。

我想在 $http 对象的成功回调函数中存根数据。

用户存储库代码:

function UserRepository($http) {

    return {
        getUsers: function () {
            $http({ url: '/GetUsers' }).success(function (data) {
                //populate users
            });
            return users;
        }
    };
}

我的测试代码:

    var httpStub = function() {
        return new {
            success: function(callback) {
                var array = [];
                array.push({ forename: 'john', surname: 'smith' });
                callback(array);
            }
        };
    };

    var userRepository = new UserRepository(httpStub);
    userRepository.getUsers();

我得到的错误是“对象不是函数”,我认为这发生在我的 httpstub 返回包含成功函数的对象文字的地方,但我不知道如何修复它。

4

1 回答 1

0

我已经解决了这个问题。httpStub 正在做

return new{
    success : function .....
}

当不应该有新的关键字时,例如:

return {
    success : function .....
}
于 2013-10-18T07:32:41.777 回答