【问题标题】:Javascript unit testing - stub the data in a success callbackJavascript 单元测试 - 在成功回调中存根数据
【发布时间】:2013-10-17 15:48:40
【问题描述】:

我正在为我的 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 返回包含成功函数的对象文字的地方,但我不知道如何解决它。

【问题讨论】:

    标签: javascript unit-testing angularjs qunit


    【解决方案1】:

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

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

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

    return {
        success : function .....
    }
    

    【讨论】:

      猜你喜欢
      • 2021-10-16
      • 2015-07-09
      • 2011-01-10
      • 1970-01-01
      • 2017-05-09
      • 2012-04-12
      • 2021-05-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多