このプロジェクトについて

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を使用します。