TypeError:尝试将未定义的属性查询包装为函数

我试图做一个嘲笑数据库驱动程序的简单基本示例(稍后将用于testing):

'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');