【Flutter】テストを書く時
投稿日: 2025/02/01
更新日: 2025/02/01
更新日: 2025/02/01
タグ:
Flutter
概要
Flutter 勉強中の私がテストを書く時にわかったこと
実行コマンド
全件実施
flutter test
特定のファイル
flutter test test/hoge_test.dart
ファイル名
ファイル名の最後に _test
とつける必要がある。
hoge_hoge_test.dart
テストファイル位置
テストファイルは機能の近くにおいて確認したい癖があったのだが、 Flutter はそうではないらしい。
lib/service/xxxx/aaa.dart のテストを lib/service/xxxx/test/aaa_test.dart と作りたくなっていたが、これはよくない。 以下が理由である。
テストファイルの認識
Flutter は test/
ディレクトリをテストディレクトリとして認識し、この中にある *_test.dart ファイルをテスト対象とする。
lib/ ディレクトリとテスト
lib/
は本番コードを配置する場所であり、Dart のルールとして、lib/
内のコードは アプリのビルドに含まれる。
一方で、test/
や bin/
など lib/
の外にあるコードは、本番コードには含まれない(Flutter のビルド対象外)。
テストコードを lib/
に配置すると、以下の問題が発生する可能性がある:
- ビルドしたファイルが大きくなる(不要なテストコードがアプリに含まれる)
- 予期せぬ動作を引き起こす(例えば、テスト用のデータやロジックが本番環境で実行される可能性)
- セキュリティリスクが増える(テストデータやデバッグ用のコードが誤って公開される)
そのため、テストコードは lib/ ではなく test/ ディレクトリに配置するのが推奨される。