📌
終了していない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