- Jest は TTY では色つきのログを出すが、そうでないときは色なしになる https://jestjs.io/docs/cli#--colors
--colors
オプションか、環境変数でFORCE_COLOR=true
するととにかく色つきのログを出せる
- GitHub Actions では色つきのログに対応している A better logs experience with GitHub Actions | The GitHub Blog
That’s why we are increasing the color support, including:
https://github.blog/2020-09-23-a-better-logs-experience-with-github-actions/#opening-the-door-to-a-more-colorful-experience
- ANSI colors
- 8-bit colors
- 24-bit colors
ということは、 GitHub Actions で Jest の実行時に色つきログの指定をすれば、色つきで見ることができるようになる。どのテストが落ちているのかとか、ここで落ちましたというコード自体とかが見やすくて便利。
追記
テストが落ちたときのアノテーションを diff の画面につける GitHub Actions Reporter の機能は Jest にもついているので、どこが落ちたか自体はそっちで見れるという話はある https://jestjs.io/blog/2022/04/25/jest-28#github-actions-reporter 。今回書いたのはログ自体を見たいとき便利というくらい。
https://jestjs.io/blog/2022/04/25/jest-28#github-actions-reporter
追記2
興味を持った同僚がどんどん集まって色々見てくれて、
- 内部で使ってる Chalk では GitHub Actions で色つきで出力できるように対応済みっぽい
- Jest は v29.3.1 時点で Chalk v4 を使っている
- Chalk v5 は ESM (!) Release v5.0.0 · chalk/chalk · GitHub
という感じで難しそうな局面だった。どうしても今すぐ Chalk 経由で GitHub Actions 上で色がつくように Jest を対応させたかったら、 Chalk v5.2.0 の色つける変更を Chalk v4 にバックポートするみたいになるのかな……。