2016-11-11 4 views
2

zu wickeln Ich versuche, ein einfaches einfaches Beispiel spöttisch einen Datenbanktreiber zu machen (die später in der Prüfung verwendet werden):Typeerror: Versuchte undefinierte Eigenschaft Abfrage als Funktion

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

ich den Fehler:

+1

es sieht aus wie aus dem [docs] (https://www.npmjs.com/package/mysql#introduction), die Sie verwenden mysql.createConnection() eine Verbindung zurück, dass dann anrufen kann connection.query . Obwohl ich mit Knoten mysql nicht so vertraut bin, könnte ich weit weg sein. –

+0

@ProfessorAllman Sie hatten Recht, bitte posten Sie eine Antwort :) –

Antwort

0

Es sieht aus wie in den Dokumenten, die Sie mit mysql.createConnection() verwenden, um eine Verbindung zurückzugeben, die dann connection.query aufrufen kann.

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