LoginSignup
1
0

More than 1 year has passed since last update.

【Flutter】WidgetTestでレイアウトを実機やシミュレーターで表示して確認する方法

Last updated at Posted at 2022-08-05

rakugo_shimote.jpg

一度でいいから見てみたい、

Widget Testのレイアウトが表示されるところ、

どうも個人でアプリ開発をしているYuKiOです。

さて、Flutterの自動テストには「Unit Test」、「Widget Test」、「Integration Test」と3つありますが、

その中で「Widget Test」は、主にアプリのUIを確認するために用いられると思います。

そこで、こんな問題に遭遇したことありませんか?

WidgetTestで困ること

「テストは通過しているけれど、これ本当に正常に表示されている?」
「タップ処理をしているけれど、Widgetが見つからないでエラーになる。あれ?Widgetが表示されているはずなんだけど・・・Keyが違うのかな?」

のように、WidgetTestはUIをチェックするテストですが、実際レイアウトされた画面が表示されるわけでなく、

しっかりとテストできているのか?
テスト自体が間違っていないのか?

ちょっと疑心暗鬼になることがありました。

「山田君〜。UI見せて」と気軽に解決できればいいですが、残念ながらWidget Testは笑点ではありません。

シミュレーターや実機にビルドしてUIをチェックしてもいいですが、条件を作成したり、分岐などを個々にチェックするのはちょっと大変ですよね。

そこで、Widget Testでレイアウトを実機やシミュレーターで表示する方法を紹介します。

WidgetTestのレイアウトを実際に表示する

とはいえ、大したことはしないのですが、調べてもさっと出てこなかったので記録しておきます。

解決方法は「WidgetTestのRun」です。(ちなみにKing of Runといえば応仁の乱ですが、1467年に起きました。)

Flutter runの後に所定のWidget Testファイルを指定すると・・・(test/widget_test/dialog_test.dartの部分を適宜変えてください。)

flutter run test/widget_test/dialog_test.dart

ダイアログビュー.jpg

こんな形でチェックできます。テスト中はインテグレーションテストのように動きます。

注意点-親のサイズ

ただし、下記のように日付のセレクトのように、親Widgetにサイズが調整されているChildの場合、サイズが自由気ままな感じになるので、SizeBoxなどで、擬似的に枠を作るなどの対策が必要だと思います。

日付ビュー.jpg

Widget Testで困っている人の助けになったら、幸いです。

いろんなアプリ作っています。興味があったら見てみてください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0