Javascript单元测试-在成功回调中存根数据

Javascript单元测试-在成功回调中存根数据,javascript,unit-testing,angularjs,qunit,Javascript,Unit Testing,Angularjs,Qunit,我正在为我的用户存储库编写一个javascript测试 我想在$http对象的成功回调函数中存根数据 用户存储库代码: function UserRepository($http) { return { getUsers: function () { $http({ url: '/GetUsers' }).success(function (data) { //populate users

我正在为我的用户存储库编写一个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返回包含success函数的对象文本时发生的,但我不知道如何修复它。

我已经修复了这个问题。httpStub正在做什么

return new{
    success : function .....
}
当没有新关键字时,例如:

return {
    success : function .....
}