问题标签 [sinon]
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.
node.js - 使用 Sinon 对 Mongoose 模型进行 Stub
我想为save
特定模型中的 Mongoose 方法创建一个存根,以便我创建的模型的任何实例都将调用存根而不是普通的 Mongoosesave
方法。我的理解是,这样做的唯一方法是像这样对整个模型进行存根:
不幸的是,这行代码导致我的测试抛出以下错误:
有谁知道这里出了什么问题?
javascript - 用 casperjs 伪造 xmlhttprequests
我正在用 casperjs 编写端到端测试,并想伪造 ajax 服务器响应
我想出了一个想法,即包含一个模拟 xmlhttprequest 对象并始终返回我预期结果的简单脚本,如下所示
然后我打电话给setup_ajax
我的 casper 测试
但看似未来的 ajax 请求仍然避免我的 xmlhttprequest 实现。
我试过运行 setup_ajax,使用 $.ready() 并从 casper 调用它,但这些都不起作用
更有趣的是,检查对象的存在奇怪地失败了。
但是 sinon 是正确包含的,至少当我在 setup_ajax 函数之外对其进行一些调用时,casper 没有导致任何错误,但是当我故意排除 sinon 时会导致错误。
您对在 casperjs 下模拟 xmlhttprequests 有什么想法吗?
javascript - Sinonjs 无法读取未定义的属性“quoteStrings”
Sinon 给了我一些有趣的错误:
这是导致它的测试:
和被测代码:
更新:
事实证明,当我更新代码以通过测试时,我没有收到错误:
所以这一定和 sinon.js 期望失败有关。可能是一个 sinon.js 错误。
unit-testing - Sinon.js(JS 模拟库)有哪些替代方案?
Sinon.js 有什么有价值的替代品吗?
谢谢。
javascript - 如何在 JavaScript 单元测试中模拟 localStorage?
有没有可以模拟的库localStorage
?
我一直在使用Sinon.JS进行大多数其他 javascript 模拟,并且发现它真的很棒。
我的初步测试表明 localStorage 拒绝在 firefox 中分配(sadface)所以我可能需要对此进行某种破解:/
我现在的选择(如我所见)如下:
- 创建我所有代码都使用的包装函数并模拟它们
- 为 localStorage 创建某种(可能很复杂)状态管理(测试前的快照 localStorage,在清理恢复快照中)。
??????
您如何看待这些方法,您认为还有其他更好的方法可以解决这个问题吗?无论哪种方式,我都会将最终制作的“库”放在 github 上,以实现开源优势。
javascript - Javascript单元测试依赖项-当依赖对象更改时如何使测试失败
我有一个依赖于模型属性的控制器。我编写了一个测试该控制器并存根模型的测试,当模型属性名称更改时,如何使我的控制器测试失败?
这是一个例子:
模型:
控制器:
控制器测试:
只要“name”属性更改为其他内容,例如“name2”,我希望此测试失败。
有人对如何在 javascript 中执行此操作有很好的建议吗?
谢谢, 夏
javascript - 如何将假服务器从诗浓转换为茉莉花。
我找到了一个如何使用 Sinon 创建假服务器的示例。
这是代码(1),(2)。
只用茉莉花就可以做同样的事情吗?
如果是。我应该如何重写代码 (1) 和 (2) ?
(1)
(2)
node.js - 如何使用 process.nextTick 进行测试
我正在使用Mocha测试一些Node.js代码,并想用它process.nextTick()
来调用方法的回调。
编码
考试
由于某种原因,done()
当我运行 mocha 时,我得到了一个被调用两次的错误。如果我在process.nextTick()
.
unit-testing - 使用 Backbone 防止 Jasmine 和 Sinon 的 AJAX 调用
我刚刚开始使用 Sinon 和 Jasmine 测试我的 Backbone 应用程序。我有一个看起来像 (coffeescript) 的视图:
我想用一个未获取的集合来测试它,但我不确定如何在我的代码中伪造一个 ajax 调用(显然可以在规范中轻松完成)。我意识到我可以只传入一个预取的集合,但我很好奇——Sinon 是否可以覆盖 fetch 函数以返回虚假响应?
感谢您的任何帮助。
javascript - 轻松清理 sinon 存根
有没有一种方法可以轻松地重置所有可以与 mocha 的 beforeEach 块一起干净地工作的 sinon spys 模拟和存根。
我看到沙盒是一种选择,但我看不出如何为此使用沙盒