javascript - 类型错误 : Attempted to wrap undefined property query as function

标签 javascript mysql node.js unit-testing sinon

我正在尝试制作一个模拟数据库驱动程序的简单基本示例(稍后用于测试):

'use strict';
import mysql from 'mysql';
import sinon from 'sinon';

let mock = sinon.mock(mysql);

mock.expects('query').withExactArgs(`DROP DATABASE IF EXISTS myDatabase`).yields({ "fieldCount": 0, "affectedRows": 1, "insertId": 0, "serverStatus": 258, "warningCount": 0, "message": "", "protocol41": true, "changedRows": 0 });

mysql.query('DROP DATABASE IF EXISTS myDatabase');

我得到错误:

TypeError: Attempted to wrap undefined property query as function

最佳答案

从文档看来,您使用 mysql.createConnection() 返回一个连接,然后可以调用 connection.query。

'use strict';
import mysql from 'mysql';
import sinon from 'sinon';

let mock = sinon.mock(mysql.createConnection());

mock.expects('query').withExactArgs(`DROP DATABASE IF EXISTS myDatabase`).yields({ "fieldCount": 0, "affectedRows": 1, "insertId": 0, "serverStatus": 258, "warningCount": 0, "message": "", "protocol41": true, "changedRows": 0 });

mysql.query('DROP DATABASE IF EXISTS myDatabase');

关于javascript - 类型错误 : Attempted to wrap undefined property query as function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40549124/

相关文章:

mysql - 如何使用Slick 3.0调用MySQL中的存储过程和定义函数

php - 克罗地亚字母开头+ Twitter Bootstrap + Helvetica Neue Pro

javascript - 如何在后续保存时重新启动 Gulp 任务?

node.js - 用户的Nodejs CSV数据导出系统

javascript - 正则表达式 - 匹配字符串与分隔符之间的特殊字符(html <style> 标记)

javascript - 获取元素的所有子元素?

javascript - jQuery - 获取输入字段中的当前文本选择

php - Codeigniter 增加 session 超时不起作用

iphone - 通过套接字发送 Base64 编码图像

javascript - 使用 javascript 查询字符串