私のnode.jsアプリケーションで単体テスト(mocha & chai)のプール接続(mysql)をしたいと思います。私は正しい方法でテストを使用しているかどうかわかりませんが、そうであれば、なぜそれらが常に「保留中」として認定されているのでしょうか。プール接続の単体テスト方法は?
次のコードを与えると、どうすればテストできますか?
var pool = mysql.createPool({
connectionLimit: 100,
host: 'localhost',
user: 'userName',
password: 'userPass',
database: 'userDatabase',
debug: false
});
私は多くの方法で試しましたが、うまくいかないようです。クレデンシャルが正しいかどうかを返すことになる
describe("Database", function() {
describe("Connection", function() {
it("Should connect without an error", pool.getConnection(function (err, connection) {
expect(err).to.be.null;
})
);
})
});
、::
Express server listening on port 8080
Database
Connection
- Should connect without an error
0 passing (15ms)
1 pending
とリターンの資格情報が正しくない場合、私が得たベストはこのだった
Express server listening on port 8080
Database
Connection
- Should connect without an error
1) Uncaught error outside test suite
0 passing (23ms)
1 pending
1 failing
1) Database Connection Uncaught error outside test suite:
Uncaught AssertionError: expected [Error: ER_DBACCESS_DENIED_ERROR: Access denied for user 'userName'@'localhost' to database 'userDatabase'] to be null
は、事前にありがとうございます。
これは単体テストではなく統合テストであることに注意してください。 *あなたのアプリケーションが単独でうまく機能しているのではなく、2つのシステムが一緒に動作することをテストします。データベース呼び出しをテストするにはhttp://stackoverflow.com/questions/1217736/how-to-write-unit-tests-for-database-callsを参照してください。 –