メインコンテンツへスキップ

Marko Testing Library

Marko Testing Libraryは、Markoコンポーネントを扱うためのAPIを追加することで、DOM Testing Libraryを基に構築されています。

npm install --save-dev @marko/testing-library

問題点

Markoコンポーネントの保守しやすいテストを作成したいと考えています。この目標の一環として、コンポーネントの実装の詳細を含めず、むしろテストが意図した自信を与えることに焦点を当てたいと考えています。その一部として、コンポーネントのリファクタリング(実装の変更だが機能の変更ではない)がテストを壊し、あなたとあなたのチームの作業を遅らせることがないように、テストスイートを長期的に保守可能にしたいと考えています。

このソリューション

@marko/testing-libraryは、Markoコンポーネントをテストするための非常に軽量なソリューションです。より良いテストプラクティスを推奨する方法で、@testing-library/domの上に軽量なユーティリティ関数を提供します。その主な指針は

テストがソフトウェアの使用方法に似ているほど、テストはより大きな自信を与えることができます。

そのため、レンダリングされたMarkoコンポーネントのインスタンスを扱うのではなく、テストは実際のDOMノードで動作します。このライブラリが提供するユーティリティは、ユーザーが同じようにDOMをクエリすることを容易にします。ユーザーがそうするようにラベルテキストで要素を見つけたり、ユーザーがそうするようにテキストからリンクやボタンを見つけたりします。これには、小さなターゲットAPIが含まれており、必要に応じていくつかの組み込みのエスケープハッチを使用することで、邪魔にならないようにできます。

このライブラリは、アプリケーションのアクセシビリティを向上させ、ユーザーがコンポーネントを使用する方法に近い方法でテストを行うことを可能にし、実際のユーザーが使用するときにアプリケーションが機能するという自信をより高めることができます。

このライブラリがではないもの:

  1. テストランナーまたはフレームワーク
  2. テストフレームワークに固有のものではありません。Jest、mocha、または他のテストランナーで使用できます(Jestmocha)。

注:このライブラリは、クエリの背後にあるロジックのほとんどがあるDOM Testing Libraryを基に構築されています。