広告ここから
広告ここまで
Jest + enzymeのsnapshot testing便利ですよね。
ただ、設定によってはちゃんとスナップショットが取れていないケースがある様子です。
最近react-test-rendere中心だったのですが、久々にenzyme触ったらハマったので覚書です。
目次
現象
- 1: enzymeで
expect(shallow(<AnyComponent />)).toMatchSnapshot()
でスナップショットを作成する。 - 2:
tests/snapshots/AnyComponent.test.tsx.snap
をひらく - 3:スナップショットが
ShallowWrapper {}
になっている
何が問題か?
スナップショットとれてません。なのでReactのコードを変更したとしても検知してくれません。
原因
Jestのv24からsnapshot serializerを入れないといけなくなった様子です。
For jest v24 you need to use snapshot serializer like https://github.com/adriantoine/enzyme-to-json
対応
シリアライザーをインストールして、Jestで利用するようにしましょう。
$ yarn add -D enzyme-to-json
$ vim package.json
...
"jest": {
"snapshotSerializers": [
"enzyme-to-json/serializer"
],
...
これでスナップショットが記録されるようになります。
ブックマークや限定記事(予定)など
WP Kyotoサポーター募集中
WordPressやフロントエンドアプリのホスティング、Algolia・AWSなどのサービス利用料を支援する「WP Kyotoサポーター」を募集しています。
月額または年額の有料プランを契約すると、ブックマーク機能などのサポーター限定機能がご利用いただけます。
14日間のトライアルも用意しておりますので、「このサイトよく見るな」という方はぜひご検討ください。
広告ここから
広告ここまで