![](/img/trans.png)
[英]Sinon stubbed function is not recognised by chai spy when asserting function call
[英]why the stubbed functions does not works when using destructor with sinon js?
有很多人面臨使用sinon.js進行存根函數存根的問題,在使用destructor
函數時不起作用,並且提到將Sinon存根函數與析構函數一起使用時存在大量錯誤 。 就像答案中提到的那樣,當使用析構函數時,我們總是調用原始函數:
const stub = (o, method) => (o[method] = () => "I am a stub");
const obj = {
methodFoo() {
return "I am foo";
}
};
// same as doing `const methodFoo = obj.methodFoo;`
const { methodFoo } = obj; // "import" using destructuring
console.log("obj.methodFoo(): ", obj.methodFoo());
console.log("methodFoo()", methodFoo());
console.log("Stubbing out method!");
stub(obj, "methodFoo");
console.log("obj.methodFoo: ", obj.methodFoo());
console.log("methodFoo()", methodFoo());
我搜索了一個答案,為什么destructor
會覆蓋stub
或者它在stub
如何工作以了解如何處理數據,但我沒有任何解決方案。 關於這個問題有什么細節嗎?
存根將覆蓋methods屬性。 如果您使用這個人為的示例:
const obj = { prop: "value" };
const prop = obj.prop; // or { prop } = obj;
obj.prop = "new value"; // stub()
console.log(prop); // "value"
那么它可能會變得更加清晰。 將方法視為可以復制的值(實際上是復制了對它們的引用)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.