👏

FlutterにおけるインテグレーションテストとE2Eテストは同じ意味?

2023/10/07に公開

https://firebase.google.com/docs/test-lab/flutter/integration-testing-with-flutter

Firebase Test Labのドキュメントでは、インテグレーションテストとE2Eテストを同じ扱いをしているような記載がある。

An integration test, also called end-to-end testing or GUI testing, runs the full app.
統合テストは、エンドツーエンドテストやGUIテストとも呼ばれ、アプリ全体を実行する。

https://www.praha-inc.com/lab/posts/e2e-testing

こちらの記事では、2つの違いをこう記載している

  • インテグレーションテスト

アプリケーションの一部のレイヤーやコンポーネントを結合させた状態でテストし、それらのインターフェースに起因する問題を確認します。必ずしも全てを結合させる必要はありません。

つまり、外部サービスなどはモックを使用してもよいということ。

  • E2E

E2Eテストでは原則として全てのレイヤーやコンポーネントを結合させた状態でテストを行います。また、DBなどの永続化層や、外部のサービス(例えば、認証に利用しているAuth0やFirebaseAuthenticationなど)も含めて、出来る限り本番環境に近い環境で実施することが多い

基本的には、モック等は一切しようせずに自動テストすることがE2Eと呼べる

Discussion