1. はじめに
本記事はFlutterのgithubにコントリビューション(FrameworkのdartコードやSDKが対象) する時に実施するテストについての備忘録です。そのため、コントリビューションを考えている人以外、基本的に読む価値がありません。
2. 事前準備
ソースコードをクローンして、dart-sdk
だけダウンロードします。
$ git clone https://github.com/flutter/flutter.git
$ cd flutter
$ ./bin/flutter
3. Flutter Framework に手を加える場合
$ git clone https://github.com/flutter/tests.git
$ cd tests
$ pushd ../flutter/dev/customer_testing && pub get && popd
$ ../flutter/bin/cache/dart-sdk/bin/dart ../flutter/dev/customer_testing/run_tests.dart --skip-template --verbose registry/*.test
4. Flutter SDK に手を加える場合
テストコード
Flutter SDKのテストコードはhttps://github.com/flutter/flutter/tree/master/packages/flutter_tools/test 以下にあります。ここにあるテストを流して修正による結果NGが出ていないことを確認しておきます。
ユニットテスト
$ cd packages/flutter_tools
$ ../../bin/cache/dart-sdk/bin/pub run test -rcompact -j4 --no-color test/commands.shard
各コマンドのテスト
Linux, macOS環境で試しましたが、いくつかはGoogleのCI環境じゃないと必ずエラーになる気がします。
$ cd packages/flutter_tools
$ ../../bin/cache/dart-sdk/bin/pub run test -rcompact -j4 --no-color test/commands.shard