在Jasmine测试双打

时间:2015-04-18 13:16:21

标签: javascript jasmine

任何人都可以帮助我在Jasmine中创建和使用测试双打吗?我之前主要使用Ruby,如果我在RSpec中测试一个接收另一个类的实例作为参数的Class方法,我会使用double。

我似乎无法找到关于如何在Jasmine for Javascript函数中使用等效的double的明确解释?

示例:

如果我正在测试一个名为Game in Ruby的类并希望引入一个Player实例,我会创建一个双重类似的东西:
player1 = double' Player1&#39 ;, lost ?: true

这可以在Jasmine中使用吗?

1 个答案:

答案 0 :(得分:0)

Jasmine有一个允许创建Spies的API,它们与模拟或测试双打相同。

var player = jasmine.createSpyObj('player', ['lost']);
player.lost.and.callFake(function() {
  return true;
});

或者,JS不是强类型的,所以你可以创建一个vanilla对象:

var player = {
    lost : function(){
        return true;
    }
};