1. ホーム
  2. vue.js

[解決済み】CypressとJestは併用した方がいい?

2022-02-16 11:49:45

質問内容

JestとCypressを同時に学習しています。CypressはE2Eに、Jestはユニットテストにフォーカスしているので、両者が直接競合するものではないことは承知しています。今のところ、私は自分のプロジェクトにJestとCypressの両方を実装し、いくつかのテストを行っています。

しかし、実はほとんどのことはCypressとJestの両方でテストできるのですが、しばしば何を使ってテストを書くか決めるのに苦労しています。また、単一のテストライブラリに比べ、メンテナンスが大変です。

サイプレス(またはその代替品)とJest(またはその代替品)を一緒に使うことはよくあるのでしょうか?両方使うのは本当に標準的で良い習慣なのでしょうか?それとも、ほとんどの開発者/チームは、1つのソリューションに固執し、それが問題ないのでしょうか?

どのように解決するのですか?

簡単な答え JestとCypressを同じコードベースで使用することは非常に一般的です。

ユニットテスト、統合テスト、またはE2Eテスト

VueやReactのようなコンポーネントライブラリでは、統合テストとユニットテストの境界が少し曖昧になることがあります。同じツール(JestやCypress)を使うこともできるので、余計に混乱します。私は、quot;user stories"、言い換えれば、ユーザーが常にキーアクションを実行できることを確認することをテストすることをお勧めします。例えば

1- ユーザーはフォームに入力し、送信することができますか? 2- 商品をカートに入れられるか? 3- ハンバーガーメニューはクリックに反応するか?

これらのテストの中には、1つのコンポーネントに関わるものもあれば、2つのコンポーネントに関わるものもあり、また、アプリケーション全体を必要とするものもあります。私は、Jest と テスティングライブラリ なぜなら、フィードバックループが速いからです。私はテストの開発と実行をほぼ同時に行うことができます。

最終的には、多くの可動部品(コンポーネント)を含むケースに遭遇し、Jestを使用することができなくなります。Cypressは、エンドツーエンドのワークフローをテストするのに適しています。