2021/6/19 : Flutter : How to test a Flutter appの訳

 

About this codelab

Written by Abdullah Deshmukh, Brett Morgan


Flutter is Google’s UI toolkit for building beautiful, natively compiled applications for mobile, web, and desktop from a single codebase.

In this codelab, you’ll build and test a simple Flutter …

2021/3/20 Mock dependencies using Mockitoの訳

 

<<前のページへ

単体テストは、ライブWebサービスまたはデータベースからデータをフェッチするクラスに依存する場合があります。 これはいくつかの理由で不便です:

  • ライブサービスまたはデータベースを呼び出すと、テストの実行が遅くなります。
  • Webサービスまたはデータベースが予期しない結果を返した場合、合格すべきテストの結果が「失敗(不合格)」になる可能性があります。 これは「フレークテスト」として知られています。
  • ライブWebサービスまたはデータベースを使用して、考えられるすべての成功および失敗のシナリオをテストすることは困難です。

したがって、ライブWebサービスまたはデータベースに依存するのではなく、これらの依存関係を「モック」することができます。

モックを使用すると、ライブWebサービスまたはデータベースをエミュレートし、状況に応じて特定の結果を返すことができます。

一般的に言えば、クラスの代替実装を作成することで依存関係をモックできます。 これらの代替実装を手作業で作成するか、ショートカットとしてMockitoパッケージを利用してください。

このレシピは、次の手順を使用してMockitoパッケージを使用したモックの基本を示しています。

1.Mockitoパッケージを追加します。

2.テストするための関数を定義します。

3.http.Clientのモックを使用したテストファイルを作ります。

4.それぞれの条件でのテストを記述します。

5.テストを実行します。

さらなる情報は Mockito packageをご覧ください。


1. Add the package dependencies

1.Mockitoパッケージを追加します。

mockitoパッケージを使用するために、下記のように、pubspec.yamlファイルのdev_dependenciesセクションに

mockito

flutter_test

パッケージを追加します。

今回のサンプルでもhttpパッケージを使いますので、pubspc.yamlファイルのdependenciesセクションに追加します。

mockito : 5.0.0 はコード自動生成によりDartのnull-safetyをサポートしています。必要なコード自動生成を実行するために、build_runnerパッケージをdev_dependenciesセクションに追加します。

dependencies:

2020/10/28 An introduction to unit testingの訳

 

機能を追加したり、既存の機能を変更したりしても、アプリが引き続き機能することをどのように確認できますか? テストを書くことによって。

単体テストは、単一の関数、メソッド、またはクラスの動作を検証するのに便利です。 testパッケージは単体テストを作成するためのコアフレームワークを提供し、flutter_testパッケージはウィジェットをテストするための追加のユーティリティを提供します。

このレシピは、次の手順を使用して、testパッケージによって提供されるコア機能を示しています。

  1. test,またはflutter_testパッケージを追加します。
  2. testファイルを作成します。
  3. テストするクラスのファイルを作成します。
  4. テストファイルに、テストするクラスのテストコードを記述します。
  5. 複数のテストをgroupに結合します。
  6. テストを実行します。

testパッケージについてのさらなる情報は、 test package documentation.をご覧ください。


1. Add the test dependency

  1. test,またはflutter_testパッケージを追加します。

testパッケージは、Dartでテストを作成するためのコア機能を提供します。 これは、Web、サーバー、およびFlutterアプリで使用されるパッケージを作成する場合の最良のアプローチです。

dev_dependencies:
  test: <latest_version>

2. Create a test file

2.testファイルを作成します。

この例では、counter.dartとcounter_test.dartの2つのファイルを作成します。

counter.dartファイルには、テストするクラスが含まれており、libフォルダーにあります。 counter_test.dartファイルには、テスト自体が含まれており、testフォルダー内にあります。

通常、テストファイルはFlutterアプリケーションまたはパッケージのルートにあるテストフォルダー内にある必要があります。 …