我正在嘲笑一个名为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;
}
};
答案 0 :(得分:1)
是的,您可以将其放入测试中:
var loggedIn;
beforeEach(function () {
auth = {
isLoggedIn: function () {
return loggedIn;
}
};
angular.mock.module(function ($provide) {
$provide.value('Auth', auth);
});
});
也可以将它作为一个单独的文件,但对于这个例子,它似乎有点过分。