解決

--exit を付ける。

npx mocha --exit test/**/*.js

追記

解決したと思ったが、MySQL側のログで Aborted connection が発生してしまう問題がある。
ぐぬぬ。

問題

以下のようなテストを書いて

describe('User Test', function () {
  it('create', async function () {
    const takashi = await User.create({ name: 'Takashi', email: 'takashi@example.com' })
  })
})
npx mocha test/models/user_test.js

とするとテストが成功してもプロセスが終了しないままハングする。
sequelizeのConnection Poolingの影響っぽい。

以下のIssueでは

after(() => { sequelize.close() })

すると解決する的なことが書いてあるが、

https://github.com/sequelize/sequelize/issues/8388
https://github.com/sequelize/sequelize/issues/6758

npx mocha test/**/*.js

など複数のテストを実行しようとすると途中で接続が切れてエラーになる。

あんまりちゃんと呼んでないけど以下のIssueで --exit オプションを付けるという解決策があって、その通りにすると期待通り終了する。

https://github.com/mochajs/mocha/issues/3044

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.