问题标签 [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.

0 投票
0 回答
231 浏览

jquery - 使用 mocha、chai 和 sinon 测试 $.proxy

我正在尝试编写一个测试来测试事件后调用的函数,但是我将此函数包装在 jquery 代理中,它似乎正在抛弃我的 sinon 间谍。

jquery 看起来像这样:

我的测试如下所示:

我还尝试在测试上方的 before 函数中执行存根,我尝试使用 sinon spy 而不是存根,我也尝试对函数/方法本身进行存根,我已经验证了该函数确实被调用,它正在从触发器接收数据,并且一直按预期进行处理,但是当我检查 a 时,.called它总是返回 false。

我可能只是忽略了一些简单的事情,任何建议或想法都是有帮助的。

0 投票
1 回答
532 浏览

javascript - Sinon.js:间谍空回调

我正在尝试使用 sinon.js 测试回调函数

但问题是当我需要使用无效回调函数测试场景时,我收到此错误:null 不是间谍或对间谍的调用!(我的逻辑)

有任何想法吗?

谢谢

0 投票
0 回答
190 浏览

unit-testing - 在 sinon+chai 中使用的下拉组件单元测试用例:ng-forward

我想为这个组件写单元测试用例Dropdown Component

但是我无法使用 ng-forward 在 sinon+chai 中编写测试用例。

有人可以指导我吗?

0 投票
1 回答
2632 浏览

javascript - Sinon mock expects().withExactArgs(function() {}) 返回一次(从不调用)

代码 :

测试用例 :

回复 :

我不明白为什么它不接受相同的函数定义作为参数。有什么线索吗?是否有不同的方法可以使用 sinon 测试作为 mocha 中的函数的函数参数?

0 投票
0 回答
638 浏览

javascript - 使用超级调用存根 javascript 方法

我正在尝试测试在其父级中调用类方法的 ES6 类方法。例如:

多边形.js

Square.js

我想在不调用 Polygon 的 verifyDimensions 的情况下测试 Square 的 verifyDimensions。使用 sinon/chai 进行测试,似乎 babeljs 在创建类时复制了源方法。这使得存根变得非常困难。

例如,如果我这样设置我的测试:

Square.spec.js

the super.verifyDimensions()will 仍然引用Polygon.prototype.verifyDimensions并且会在测试中出错。

0 投票
1 回答
4023 浏览

javascript - 如何在 sinon js 中测试集合间隔

我正在尝试为 编写单元测试setInterval(),但我不确定如何监视fetchState().

主代码.js:

规范.js

0 投票
0 回答
419 浏览

web-component - 如何模拟 HTML 导入以进行测试

我正在为我的自定义元素编写测试。我使用Web Component Tester,所以使用 Sinon.js 进行模拟会很棒。

我的自定义元素<link rel="import" href="something.html">动态添加。

我如何存根内容something.html

0 投票
0 回答
314 浏览

javascript - ReactTestUtils Simulate.click() 返回未定义

我正在尝试运行一个测试,该测试旨在检查我的 React 组件的 Add 按钮是否被单击,以便间谍可以捕捉到正在调用适当的方法并通过测试。

但是,我遇到了 ReactTestUtils.Simulate.click() 错误,它返回 undefined 并且我的间谍永远不会看到该方法被命中。

我正在使用 react、sinon-chai 和 karma。

我尝试了多种方法,包括在 btn 上执行 .findDOMNode() 和 .getDOMNode() ,但我只是收到关于它不是对象的错误。

我不确定还能做些什么来通过这个问题。

0 投票
1 回答
853 浏览

javascript - 是否可以使用 Sinon.JS 检查函数参数是否正确绑定

假设我们有一个函数,它返回一个函数并为其绑定参数:

现在我们想知道函数 A 是否正确绑定了参数:

问题 - 是否有可能知道参数是否正确绑定?我试过这个,但它是一个空数组

0 投票
1 回答
727 浏览

javascript - 单元测试 MOCHA SINON CHAI(检查调用嵌套函数)

如果有人了解测试,请告诉我如何为两件事实施测试:

1) makeRing 函数启动时是否调用了 obj.newRing 方法。2) 参数'num'是否传递给函数makeRing( num )是否与obj.newRing({ number:num })中传递的对象的属性相匹配。

也许有人会对如何使用 sinon 有一些想法,否则在这种情况下,我会很高兴任何信息。我受苦了很长时间......谢谢!