LoginSignup
2
1

More than 5 years have passed since last update.

[nodejs] SequelizeでPostgreSQLに接続するテストがいつまでも終了しない

Posted at

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に対して接続のオープンとクローズを書かないといけないのかなあ…(;´д`)
どこかに一括でまとめて書けないものだろうか

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1