问题标签 [sinon-chai]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jquery - 使用 mocha、chai 和 sinon 测试 $.proxy
我正在尝试编写一个测试来测试事件后调用的函数,但是我将此函数包装在 jquery 代理中,它似乎正在抛弃我的 sinon 间谍。
jquery 看起来像这样:
我的测试如下所示:
我还尝试在测试上方的 before 函数中执行存根,我尝试使用 sinon spy 而不是存根,我也尝试对函数/方法本身进行存根,我已经验证了该函数确实被调用,它正在从触发器接收数据,并且一直按预期进行处理,但是当我检查 a 时,.called
它总是返回 false。
我可能只是忽略了一些简单的事情,任何建议或想法都是有帮助的。
javascript - Sinon.js:间谍空回调
我正在尝试使用 sinon.js 测试回调函数
但问题是当我需要使用无效回调函数测试场景时,我收到此错误:null 不是间谍或对间谍的调用!(我的逻辑)
有任何想法吗?
谢谢
javascript - Sinon mock expects().withExactArgs(function() {}) 返回一次(从不调用)
代码 :
测试用例 :
回复 :
我不明白为什么它不接受相同的函数定义作为参数。有什么线索吗?是否有不同的方法可以使用 sinon 测试作为 mocha 中的函数的函数参数?
javascript - 使用超级调用存根 javascript 方法
我正在尝试测试在其父级中调用类方法的 ES6 类方法。例如:
多边形.js
Square.js
我想在不调用 Polygon 的 verifyDimensions 的情况下测试 Square 的 verifyDimensions。使用 sinon/chai 进行测试,似乎 babeljs 在创建类时复制了源方法。这使得存根变得非常困难。
例如,如果我这样设置我的测试:
Square.spec.js
the super.verifyDimensions()
will 仍然引用Polygon.prototype.verifyDimensions
并且会在测试中出错。
javascript - 如何在 sinon js 中测试集合间隔
我正在尝试为 编写单元测试setInterval()
,但我不确定如何监视fetchState()
.
主代码.js:
规范.js
web-component - 如何模拟 HTML 导入以进行测试
我正在为我的自定义元素编写测试。我使用Web Component Tester,所以使用 Sinon.js 进行模拟会很棒。
我的自定义元素<link rel="import" href="something.html">
动态添加。
我如何存根内容something.html
?
javascript - ReactTestUtils Simulate.click() 返回未定义
我正在尝试运行一个测试,该测试旨在检查我的 React 组件的 Add 按钮是否被单击,以便间谍可以捕捉到正在调用适当的方法并通过测试。
但是,我遇到了 ReactTestUtils.Simulate.click() 错误,它返回 undefined 并且我的间谍永远不会看到该方法被命中。
我正在使用 react、sinon-chai 和 karma。
我尝试了多种方法,包括在 btn 上执行 .findDOMNode() 和 .getDOMNode() ,但我只是收到关于它不是对象的错误。
我不确定还能做些什么来通过这个问题。
javascript - 是否可以使用 Sinon.JS 检查函数参数是否正确绑定
假设我们有一个函数,它返回一个函数并为其绑定参数:
现在我们想知道函数 A 是否正确绑定了参数:
问题 - 是否有可能知道参数是否正确绑定?我试过这个,但它是一个空数组
javascript - 单元测试 MOCHA SINON CHAI(检查调用嵌套函数)
如果有人了解测试,请告诉我如何为两件事实施测试:
1) makeRing 函数启动时是否调用了 obj.newRing 方法。2) 参数'num'是否传递给函数makeRing( num )是否与obj.newRing({ number:num })中传递的对象的属性相匹配。
也许有人会对如何使用 sinon 有一些想法,否则在这种情况下,我会很高兴任何信息。我受苦了很长时间......谢谢!