jestで全てpassなのにexit status1が出る

「jestで全てpassなのにexit status1が出る」のアイキャッチ画像

jestで全てのtestをpassしているにもかかわらず、なぜかexit status1が出る、という問題が発生しました

Test Suites: 55 passed, 55 total
Tests:       402 passed, 402 total
Snapshots:   3 obsolete, 20 passed, 20 total
Time:        71.287 s
Ran all test suites.
error Command failed with exit code 1.

どうやらobsoleteが悪さをしているらしく、こちらのコマンドでobsoleteを解消することでpassさせることができます

※ -u を追加

yarn test --coverage -w 1 -u

-u コマンドは失敗したsnapshotテストを再生成するための指定で、残っているsnapshotなどに悪ささせないことが可能となっています

ちなみにですが、CI上では-uを付けると問題になることがあるみたいなので、あまりよろしくないそうです

https://github.com/facebook/jest/issues/9324#issuecomment-623713377

参考記事

【Jest】テストは全てsuccessなのにexit statusが 1

JEST tests complete successfully but returns exit status 1 #9324