我发现Sinon 不允许你存根属性,只有方法。我试图弄清楚如何处理/接受这个。
我有以下代码:
var Player = {
addPoints: function(points) {
this.score += points;
},
score: 0
}
var Game = {
setPlayers: function(players) {
this.players = players;
},
over: function() {
return this.players.some(function(player) {
return player.score >= 100;
});
},
}
这是我写的一个测试:
describe("Game", function() {
it("is over if a player has at least 100 points", function() {
var game = Object.create(Game);
player = Object.create(Player);
game.setPlayers([player]);
player.addPoints(100);
game.over().should.be.true;
});
});
我在测试时addPoints()
不得不进去打电话给我感觉不对。我最初的直觉是 stub ,但我不能这样做,因为 Sinon 只存根属性,而不是方法。Player
Game
Player.points
我应该如何思考这个问题?