web-dev-qa-db-ja.com

ジェストと酵素の違いは何ですか?

ユニットテストは初めてです。私はReactプロジェクトをテストしたいと思います。Reactで始めたドキュメントは、酵素をテストユーティリティとして参照しており、あいまいなものです。

Jestenzymeの違いは何ですか?

  • enzymeアサーションライブラリまたはタスクランナーですか?
  • karmaJasmineと一緒に使用できますか?
  • react-reduxプロジェクトをテストする最良の方法は何ですか?
26
Eslam Tahoon

Jestは、タスクランナー、アサーションライブラリ、優れたモックサポートを備えたフレームワークであり、さまざまなユニットテストケースを実行し、その結果をコンソールまたはログファイルに書き込み、モックを作成したり、すべてを検証したりできます。つまり、アサーションはテストを実行します。

Enzymeは、React TestUtils、JSDOM、およびCheerIOのようなパッケージをラップして、単体テストを作成するためのよりシンプルなインターフェイスを作成するライブラリです。React TestUtilsには、反応コンポーネントをドキュメントにレンダリングし、イベントをシミュレートするメソッドがあります。JSDOMは、DOM(Documentオブジェクトモデル)のJavaScript実装です。DOMは、UIコンポーネントのツリー構造を表します。CheerIOは、jQueryコアのサブセットを実装し、 DOMのクエリに使用されます。

したがって、酵素はテストランナーではありません。単体テスト用のAPIのコレクションを提供するだけなので、独自のアサーションライブラリはありません。それが、jestや他のタスクランナーと統合できる理由です。

はい、カルマをジャスミンと一緒に使用できます。

10

アーロンのコメントはあなたの最初の質問に答えます。

Enzymeは、Reactコンポーネント(浅いレンダリングを許可するなど)のユニットテストユーティリティ関数を提供します。Enzymeのドキュメントでは、任意のテストランナーまたはアサーションライブラリで使用できると記載されています-参照 http:// airbnb.io/enzyme/

はい、カルマをジャスミンと一緒に使用できます。

React-reduxプロジェクトをテストする最良の方法に関する限り、これは別の質問です。StackOverflowを検索することをお勧めします。 :)

3