このプロジェクトについて
Enzymeは、Reactコンポーネントの出力をテストしやすくするためのJavaScriptテストユーティリティです。開発者は、レンダリングされた出力に対して、操作、トラバース、およびある程度のランタイムシミュレーションを行うことができます。そのAPIは、DOM操作とトラバースに関するjQueryのAPIを模倣することで、直感的で柔軟になるように設計されています。
主な機能:
- シャローレンダリング: コンポーネントを1階層の深さでレンダリングし、DOMを必要とせずにその戻り値をアサートします。
- フルDOMレンダリング(mount): 実際のDOM環境でコンポーネントをレンダリングし、ライフサイクルメソッド、propsの変更、イベントシミュレーションをサポートします。
- 静的レンダリング: コンポーネントを静的なHTMLマークアップにレンダリングし、結果の構造を分析します。
アダプタ: Enzymeは、使用中のReactバージョンに対応するアダプタを必要とします。公式アダプタはReact 16.x、15.x、0.14.x、0.13.xをカバーしています。PreactとInferno用のサードパーティ製アダプタも存在します。
テストランナー互換性: Enzymeはテストランナーやアサーションライブラリについて特定のものを強制しません。ドキュメントの例ではMochaとChaiを使用しており、Jest、Jasmine、should.js、expect向けのコンパニオンマッチャライブラリも存在します。
React Hooks: EnzymeはReactフックをサポートしていますが、上流のReactシャローレンダラーの問題により、シャローレンダリングにはいくつかの制限があります(useEffect/useLayoutEffectが呼び出されない、useCallbackがメモ化されない)。React 16.8+でのmountでは、Enzymeはsimulate、setProps、setContext、invokeなどのAPIをReactTestUtils.act()でラップします。
インストールはnpmを介して行い、enzymeと適切なアダプタをインストールします。設定はトップレベルのconfigure() APIを使用します。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.