SequelizeでPostgreSQLに接続するテストを実行してみたところ、テストは通るのだけどいつまでたってもテストが終了しない。
test/test.js
'use strict'
const Sequelize = require('sequelize')
const assert = require('assert')
describe('postgresqlに接続するテスト', () => {
it('とりあえず接続', done => {
const sequelize = new Sequelize('postgres://postgres:postgres@localhost/myapp',
{ operatorsAliases: false })
const Project = sequelize.define('project', {
title: Sequelize.STRING,
description: Sequelize.TEXT
})
Project.sync().then(() => {
assert.ok(true)
done()
}).catch(done)
})
})
調べてみると、データベースに接続しっぱなしになってるのが原因ぽかったので、接続を閉じるようにしたら解決しました。
test/test.js
'use strict'
const Sequelize = require('sequelize')
const assert = require('assert')
describe('postgresqlに接続するテスト', () => {
let sequelize
before(() => {
sequelize = new Sequelize('postgres://postgres:postgres@localhost/myapp',
{ operatorsAliases: false })
})
after(() => {
sequelize.close()
})
it('とりあえず接続', done => {
const Project = sequelize.define('project', {
title: Sequelize.STRING,
description: Sequelize.TEXT
})
Project.sync().then(() => {
assert.ok(true)
done()
}).catch(done)
})
})
これ全部のdescribe
に対して接続のオープンとクローズを書かないといけないのかなあ…(;´д`)
どこかに一括でまとめて書けないものだろうか