我正在尝试制作一个模拟数据库驱动程序的简单基本示例(稍后用于测试):
'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/