首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spy on destructured方法

Spy on destructured方法
EN

Stack Overflow用户
提问于 2016-06-10 07:52:19
回答 1查看 542关注 0票数 4

我有一个方法,我用解构来导入一个方法。我试图监视这个方法,但总是遇到错误。

代码语言:javascript
复制
const { addition } = require('./my-math-lib');

const additionSpy = sinon.spy(addition);

testMethod.doMath();

expect(additionSpy.calledOnce).to.be.equal(true);

不幸的是,这个单元测试不起作用。当我查看additionSpy对象时,我发现notCalled是真的。

如果我把代码改成-

代码语言:javascript
复制
const mathStuff = require('./my-math-lib');

const additionSpy = sinon.spy(mathStuff, 'addition');

testMethod.doMath();

expect(additionSpy.calledOnce).to.be.equal(true);

此单元测试将通过。

EN

回答 1

Stack Overflow用户

发布于 2016-06-10 07:58:37

Sinon的spy方法不能修改函数。函数在Javascript中是不可变的。Sinon的spy方法可以创建一个新函数(第一个示例中的additionSpy),也可以修改对象并替换对象上的方法(第二个示例)。您的第二个示例看起来对您想要做的事情是正确的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37737961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档