【Flutter】テストを高速化するためのメモ

はじめに

Flutterのテスト高速化についてのブログがあったので、覚え書き。

メモ

テスト実行コマンドに適切な引数のみを使用する。

テスト実施時はcoverageとかつけない

1つのテストファイルからすべてのテストを呼び出すことを実現する。

import test_1_test.dart as test_1
import test_2_test.dart as test_2

void main() { 
 test_1.main(); 
 test_2.main();
}

各テストの実行速度を別々に分析する。

flutter test -v > test_output.txt

checkIntrinsicSizesを無効にして、ウィジェットテストのビルドプロセスを高速化する。

class AutomatedTestWidgetsFlutterBindingWithCheckIntrinsicSizesDisable extends AutomatedTestWidgetsFlutterBinding { 
 @override bool get checkIntrinsicSizes => false;
}

void main() { 
 AutomatedTestWidgetsFlutterBindingWithCheckIntrinsicSizesDisabled(); 
 testWidgets('do something', (tester) async {});
}

テストを並列実行する。

CIでは以下でテストを並列化できるらしい

—total-shards  —shard-index

あなたのニーズに合ったDockerコンテナを使用する。

Flutter SDKのDockerを作る

今度、実験しよっと。

参考