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 が成功関数を含むオブジェクト リテラルを返す場所で発生していると思いますが、修正方法がわかりません。