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