我可以使用`Sinon`来伪造未定义的属性吗?

时间:2016-08-27 02:10:29

标签: javascript sinon

我理解stub是在我想用新的功能替换原来的功能时使用的。

sinon.stub(A, 'b', function(){
  //fake
})

但只有在bA的属性时,它才有效。有没有办法伪造A.b无论b存在?

我知道我可以这样做:

var original = A.b;
A.b = function() {
    //fake
}
.... test cases...
A.b = original; // restore the original value 

有更优雅的方式来实现这一目标吗?

1 个答案:

答案 0 :(得分:0)

我认为没有更优雅的方式,但我也认为你不需要sinon:

obj.stub = function () { //... };
// test stuff
delete obj.stub;