Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript TypeError:试图将未定义的属性查询包装为函数_Javascript_Mysql_Node.js_Unit Testing_Sinon - Fatal编程技术网

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

Javascript TypeError:试图将未定义的属性查询包装为函数,javascript,mysql,node.js,unit-testing,sinon,Javascript,Mysql,Node.js,Unit Testing,Sinon,我试图制作一个模拟数据库驱动程序的简单基本示例(稍后将在测试中使用): 我得到一个错误: TypeError: Attempted to wrap undefined property query as function 从文档中可以看出,您使用mysql.createConnection()返回一个连接,然后可以调用connection.query 'use strict'; import mysql from 'mysql'; import sinon from 'sinon'; let

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

我得到一个错误:

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

从中可以看出,您使用mysql.createConnection()返回一个连接,然后可以调用connection.query。虽然我对node-mysql不太熟悉,所以可能会有点离题。@ProfessorAllman教授你是对的,请发布一个答案:)
'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');