🦔
Flutter 自動テスト 番外編 ~自動生成されているかをチェックする~
Flutter 自動テスト シリーズについて
Flutterの自動テストをStep by Stepで説明しています。
一連の記事を「本」(無料)にまとめました。
今回の対象
Flutterには自動生成を行うライブラリがいくつもあります。
代表例をあげておくと以下があります
などです。(他にもあると思いますが)
これらを利用していて、自動生成をせずPull Requestを作成・マージしてしまい、
あとから差分が出てしまうということはありませんか?
私はありました。
build_verifyを使う
そんな方はbuild_verifyを使ってみてください
インストール方法
コマンドはこちら
flutter pub add build_verify --dev
テストコード
公式の説明を参照してもらうのがいいですが、我々のプロジェクトでは少し変えて以下のようにしています。
ensure_build_test.dart
import 'package:build_verify/build_verify.dart';
import 'package:test/test.dart';
void main() {
test(
'自動生成等がされているかの確認',
expectBuildClean,
timeout: const Timeout(Duration(minutes: 2)),
);
}
timeoutがポイントです。
実際に自動生成のコマンドを実行して差分を確認しているため、
結構時間がかかります。GitHub Actionsで実行する場合に、これくらい時間がかかりました。
皆さんのプロジェクトでの適正値を設定してください。
実行
あとは他のテストと同様に実行するだけです。コマンドを再掲しておきます。
flutter test
以上です。
まとめ
簡単に自動生成がされているかを確認することができました。
みなさんもやってみてください。
最後に(宣伝)
友人と個人開発でゲーミフィケーション記録アプリ「HibaQuest」を作っています。
実際にこのプロジェクトでも使っています。
Discussion