インストール
このモジュールはnpmを介して配布されています。これはnodeにバンドルされており、プロジェクトのdevDependenciesの1つとしてインストールする必要があります。
- npm
- Yarn
npm install --save-dev @testing-library/dom
yarn add --dev @testing-library/dom
ラッパー
Reactなどのフレームワークやライブラリを使用している場合は、ラッパーをインストールする必要があります。
- React Testing Library
- Reason Testing Library
- React Native Testing Library
- Vue Testing Library
- Marko Testing Library
- Angular Testing Library
- Preact Testing Library
- Svelte Testing Library
- Cypress Testing Library
- Puppeteer Testing Library
- Testcafe Testing Library
- Nightwatch Testing Library
- Solid Testing Library
エコシステム
DOM Testing Libraryは、これらの関連ライブラリと連携して動作します。
- user-event ブラウザイベントシミュレーション
- jest-dom カスタムJestマッチャー
- bs-jest-dom
bs-react-testing-libraryの関連ライブラリ - jest-native
React Native Testing Libraryの関連ライブラリ - react-select-event
React Testing Libraryの関連ライブラリ - eslint-plugin-testing-library Testing Library用ESLintプラグイン
- eslint-plugin-jest-dom Jest DOM用ESLintプラグイン
- riot-testing-library Riot.jsコンポーネントを操作するためのAPIを追加します。
主要なエクスポート
DOM Testing Libraryのpackage.jsonはこちらで確認できます。
特に、main、module、umd:mainフィールドが役立ちます。これらはそれぞれ、特定の状況で役立つファイルを指しています。通常、テストフレームワークは状況に合った正しいファイルを解決しますが、そうでない場合は、@testing-library/domをrequire/importする際に正しいファイルを解決するようにテストフレームワークを構成するか、必要なファイルをより明確にimportすることができます。例えば
import {within} from '@testing-library/dom/dist/@testing-library/dom.umd.js'
公開されたdistファイルはこちらで確認できます。
mainファイルは、package.jsonのengines.nodeフィールドで参照されているnodeのバージョンをサポートするようにコンパイルするように設定されています。しかし、moduleとumd:mainファイルは、IE 10と同程度の古いブラウザもサポートするようにコンパイルするように設定されています。