📌
終了していないprocessがいるとJestに怒られるとき
テスト自体は終了しているっぽいのにJestコマンドが終了せず、こういう警告が表示されるときの対応。
Jest did not exit one second after the test run has completed.
今回遭遇したのはE2E用server(vite serve)をglobalSetup
で立ち上げつつ、JestでPlaywrightを走らせ、globalTeardown
でserverを片付けるという状況。
spawn
の戻り値をkill
したりprocess.exit()
を実行したりしてみたが、processがうまく落とせず残ってしまうらしい。
色々探してみた結果tree-kill
というパッケージに頼ってみたら全processがkillされて警告もなくなった。
Discussion