问题标签 [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.
javascript - 已使用对象断言调用
我正在监视的函数,接收对象作为参数。我需要断言该函数是使用对象的某些属性调用的。
例如:我的 SUT 有:
在我的测试中我可以这样做:
并且有效(很高兴知道它fn
已被调用)。现在我需要确保正确的对象已被传递到函数中。我只关心 foo
和bar
属性,即我必须为参数的特定属性设置匹配。如何?
upd: sinon.match() 似乎适用于简单的对象。让我们提高标准,好吗?
如果我想在zap
断言中包含函数怎么办?我该如何做?
node.js - 如何测试具有随机值属性的对象?
我正在编写一个单元测试,我正在模拟一个对象(客户端),它有一个 _request 方法,它需要一个对象和一个回调函数。对象参数有几个具有随机值的属性:
我该如何为此设置测试?
或者我怎样才能忽略这些特定属性并测试其他属性?
谢谢。
javascript - 迁移到 Windows 后 karma-sinon-chai 失败
我有在 Karma 下运行的单元测试,并且正在使用 sinon-chai 库。
在 Mac 上一切正常,但现在我已移至 Windows,出现以下错误:
从那个文件:
我希望第一行的条件会返回true
,因为我在 Node 中运行,但由于某种原因既不是“要求”也不module
是定义的,所以它最终在上面指出的点结束。
有任何想法吗?
node.js - 使用 mocha 和 sinon-chai 测试 express 中间件的使用
我在测试 middelware 使用时遇到了一些问题,需要您的帮助!
配置我的应用程序:
我想用测试来覆盖它(使用 mocha 和 sinon-chai 用于存根和间谍)。因此,当我为摩根的使用编写测试用例时:
我将 app.use() 设置为间谍,并希望它以 morgan('dev') 作为唯一参数来调用。
我收到这样的错误:
想不通为什么。在使中间件使用功能成为间谍时,有什么需要关注的吗?
提前致谢。
javascript - 在断言函数调用时,柴间谍无法识别 Sinon 存根函数
我有两个返回 bluebird 承诺的异步函数:
我有另一个模块调用这些方法,如下所示:
在我的测试用例中,我想检查 Bar.Async2 是否被调用并且我有以下测试用例失败:
我从控制台日志中知道 Async2 确实被调用了,所以我想知道为什么间谍不接它?
javascript - 从 sinon 存根返回 sinon 存根
我在让一个 sinon 存根返回/解决另一个 sinon 存根时遇到问题。我正在使用 sinon、chai、chai-as-promised 和 mocha。
我正在按顺序执行许多异步任务,我要测试的代码如下所示:
我为此创建存根的尝试如下所示:
“saveit”方法在 Terminal.prototype 中,这就是为什么我需要在那里存根。当我尝试运行它时,我收到错误:
在线:
但是,如果我将终端对象转储到控制台中,它看起来还不错,就像任何其他存根对象一样(至少在我看来是这样)。存根 saveit() 方法可以在测试中“独立”调用。但是,每当我通过 chai 的“return”或 chai-as-promised 的“resolve”方法返回它时,我都会收到此错误。
知道为什么会这样吗?
javascript - AngularJS/Ionic/SinonChai - 如何模拟 $ionicModal.fromTemplateUrl 函数
我在测试离子模态控制器时遇到问题。问题(或者至少是我关注的问题)是模拟 $ionicModal.fromTemplateUrl 函数。根据 ionic 文档,它应该返回一个解析为模态实例的承诺。
这是我的工厂:
这是我的测试:
我也不确定我的 getController 函数是否会正确返回控制器。这是我第一次使用 $ionicModal,所以任何指针都值得赞赏。谢谢。
javascript - 用 mocha chai 和 sinon 测试 promise
我想使用 和 测试我的承诺解析处理程序和承诺拒绝处理程序。此外mocha
,我已经设置了插件和插件。chai
sinon
sinon-chai
sinon-stub-promise
这是我的要求语句块:
这是我的测试套件:
我发现自己遇到了这个错误:
javascript - 使用 Sinon 存根 PouchDB 失败
我试图存根 pouchDB 'put' 函数但在调用函数中但它失败了。
我的数据库功能-
我的测试功能:
控制台:在 req、res、testOutput 之后设置在 sinon.stub 之后 put 之后:在 addPendingRequest 之后
因此永远不会输入 PendingDB.put 并且我的测试 PendingDBTest.call 返回 false,因此失败。
javascript - 测试以确保调用函数内的 promise 内的函数?
我正在使用 Mocha、Chai 和 Sinon 来测试我的 Angular 代码。
我在一个名为 update 的函数中有一些代码需要测试
所有这些代码都在更新函数中。这一切都在我目前正在测试的控制器中。
当我在测试中调用 scope.update() 时,我想确保调用了 scope.addTabletoScope(x)。
在我运行测试之前的 beforeEach 中,我有一个间谍
因为该函数绑定到范围。
这是我运行的一项测试。
这失败了,因为 spy.call 是假的。
我尝试的另一件事是
这也行不通。我哪里错了?