模拟数据中的Mocha -Parameter

时间:2015-06-03 12:36:31

标签: angularjs mocking mocha sinon

我正在嘲笑一个名为isLoggedIn()的函数:

auth = {
        isLoggedIn: function () {
            return true;
        }
};

并且apply在beforeEach循环中

beforeEach(function () {
    angular.mock.module(function ($provide) {
        $provide.value('Auth', auth);
    });

});

目前,isLoggedIn()将始终返回true。对于某些特定测试,此函数需要能够返回false。

有没有办法从我的测试中将变量传递给模拟器。

E.g。

之类的东西
var loggedIn = ;

auth = {
        isLoggedIn: function () {
            return loggedIn;
        }
};

1 个答案:

答案 0 :(得分:1)

是的,您可以将其放入测试中:

var loggedIn;
beforeEach(function () {
    auth = {
        isLoggedIn: function () {
            return loggedIn;
        }
    };

    angular.mock.module(function ($provide) {
        $provide.value('Auth', auth);
    });

});

也可以将它作为一个单独的文件,但对于这个例子,它似乎有点过分。