Snapshotの結果がローカルとCircleCIで違っていた

Reactアプリ開発では Snapshot テストをよく使うんですが、あるとき ローカルとCircleCI上で作成したのSnapshotの結果が異なり、テストが落ちるという現象が発生しました。

これは少し調べたところ、Nodeのバージョン違いによってJest実行結果が異なっていたためでした。

当時のローカル(Mac)マシンの Node のバージョンは、

$ node -v
v12.8.0

ですが、CircleCIのNodeは、

version: 2
jobs:
  test:
    docker:
      - image: circleci/node:10.5.0

でした。

というわけで以下の手順で node をダウングレード。

$ brew unlink node
$ brew link node@10
$ brew link --force --overwrite node@10
$ node -v
v10.16.3

厳密にはまだバージョンが異なってましたが、Snapshotの結果はこれで一致。