1
モザを使ってMsSqlでNodeJSのテストをセットアップしようとしています。しかし、私は私のテストを実行するたびに、私は "接続が閉じて"取得します。mocha testing nodejs mssql - 接続が閉じています
私は自分自身でアプリを実行したときに奇妙なことは、それが動作しないということです、そして、私は戻って、データベースからデータを得るかとの接続は、あまりにもすぐに閉じられていません。
テストのための私のコード:
var express = require('express');
var expect = require('chai').expect;
var calendar = require('./../Server/calendarDatabase');
describe("Calendar", function() {
describe("Database", function() {
it("should get stuff from the database", function (done) {
calendar.getAll().then(function (returnValue) {
console.dir(returnValue);
expect(returnValue.count).to.equal(5);
done();
});
});
});
});
私calendarDatabaseコードが
var express = require('express');
var sql = require('mssql');
var config = require('./../config');
var calendarDbConnection = {};
sql.connect(config.mssql, function (err) {
console.log(err);
});
calendarDbConnection.getAll = function() {
return new sql.Request()
.query('select * from Human')
.then(function (recordsets) {
return recordsets;
})
.catch(function (err) {
console.log(err.message);
});
}
module.exports = calendarDbConnection;
のように見えますそして最後に、このアプリを実行するときに、私が使用しているものは何ですか:
var express = require('express');
var router = express.Router();
var calendarDb = require('./../Server/calendarDatabase');
router.get("/", function (request, response) {
response.render('calendar', { title: 'Calendar app title' });
});
router.get('/getYear/:year', function (request, response) {
calendarDb.getAll().then(function(returnValue) {
console.dir(returnValue);
});
response.send();
});
module.exports = router;
は、だから私の質問は、なぜこれはMochaでテスト中に動作しませんが、それ自体でアプリを実行するときはどうなりますか?私はここで何が欠けていますか?