Sinon Not Mocking db-mysql Node.js library
Sinon Not Mocking db-mysql Node.js library
我正在尝试在 Node 中使用 Sinon 和 Mocha 来模拟我的数据库.js进行测试。我尝试了以下方法:
var sinon = require('sinon');
var mysql = require('db-mysql');
beforeEach(function() {
var db = sinon.mock(mysql);
db.expects('execute');
});
但我不断收到以下错误:TypeError: Attempted to wrap undefined property execute as function
我假设这是在模拟类而不是数据库实例。所以我通过做var db = sinon.mock(new mysql.Database());
来嘲笑这个实例。当我这样做时,无论参数是什么,db-mysql
实例的所有有效方法都会传递,例如 db.connect()
和 db.query()
。我无法设置行为。要设置行为,我正在尝试在db
上调用.expects
,但出现以下错误:
TypeError: Object [object Object] has no method 'expects'
设置预期行为的正确方法是什么?此外,如何测试同一功能的多种行为?我是否需要根据测试预期在每个测试中执行此操作?
这是因为
execute
是对象的一部分query
而不是数据库本身。
https://github.com/mariano/node-db-mysql#quick-start
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 使用agility.js进行页面布局和合成
- 使用Clipboard.js复制span文本
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 强制模板刷新ember.js
- 如何编写HTML输入的JS内联
- Angular JS IE9 Hashbang url rewriting
- Babel编译错误:找不到模块核心js/library/fn/get迭代器
- js/jquery/other library插件来转换HTML->XML
- Sinon Not Mocking db-mysql Node.js library
- 是否可以使用Jurrasic Library将js变量分配给c#字符串
- Angulars JS Btford library, NodeJS Socket.io
- Library parallax.js
- JS Charts Library
- Converse.js core library
- JavaScript 2D rendering library [pixie.js vs three.js]
- 在library.js中执行onLoad事件的JavaScript代码
- Library for OLS regression JS
- Include library with require.js
- JavaScript: format and Unformat Number: Library numbro.js