はじめに
Flutter Engineのユニットテストについての記事です(誰得?)。
Flutter Engineにコントリビュート (PR) する場合、リグレッション的にユニットテストをPASSさせる必要があります。PR時に自動で回るCIでもチェックされますし、もし新しい機能を追加する場合には新しくユニットテストを入れる必要があります。
Flutter Engine環境準備
Flutter Engineのビルド手順に従い、Flutter Engineをビルドします。
ユニットテストの実行方法
$ ./flutter/testing/run_tests.sh
もし、テストパスしないシナリオがあれば、途中でエラメッセージとともにストップします。
新しくユニットテストを追加する
ユニットテストのコーディングスタイル等はevent_channel_unittests.ccのあたりのコードを参考にしてください。その他、以下のBUILD.gnにあるユニットテストのコードも参考になります。
その他、必要に応じて以下のgnファイルやライセンスファイルのメンテが必要です。
ファイルの追加削除などに連動してメンテするファイル
src/flutter/shell/platform/common/cpp/client_wrapper/BUILD.gn
src/flutter/ci/licenses_golden/licenses_flutter