Javascript Sinon:存根和整个对象,并用新对象替换它

Javascript Sinon:存根和整个对象,并用新对象替换它,javascript,unit-testing,sinon,Javascript,Unit Testing,Sinon,使用Sinon,如何存根整个对象及其所有方法,然后用另一个对象替换它们 我尝试过类似的方法,但似乎不起作用: var stubby = sinon.stub(stubbedObj); stubby.returns(newReplacementObj); console.log(stubby); // this returns stub, but it would think that it should return newReplacementObj? 你也可以考虑重构你的代码来调用一个

使用Sinon,如何存根整个对象及其所有方法,然后用另一个对象替换它们

我尝试过类似的方法,但似乎不起作用:

var stubby = sinon.stub(stubbedObj);
stubby.returns(newReplacementObj);

console.log(stubby); // this returns stub, but it would think that it should return newReplacementObj? 

<>你也可以考虑重构你的代码来调用一个你可以代替它的函数。例如,您可以创建一个使用window.something的访问器方法,而不是将window.something去掉,然后去掉该访问器方法。

看看这个。听起来这更适合你的需要。你应该用sinon。你的句子不清楚。不能存根方法并用对象替换它们。您可以存根一个对象的所有方法,不过
sinon.stub(anObject)
肯定会返回
anObject
没有特殊的存根对象。在您的情况下,
stubbedObj===stubby
true
。因此,除非您在其中包含
返回值
,否则没有这样的方法。尽管每个存根方法(它是存根)都有一个
返回的
方法,可以用来返回您想要的任何内容。