Flutter を使用して、特定の要素の存在を確認するテストを作成したいと思います。それ、どうやったら出来るの?
また、一致する要素が見つからない場合、テストはエラーをスローしますか?
Flutter を使用して、特定の要素の存在を確認するテストを作成したいと思います。それ、どうやったら出来るの?
また、一致する要素が見つからない場合、テストはエラーをスローしますか?
はい、findユーティリティ (より一般的にはFinderクラス) を使用できます。Finder は、UI にウィジェットが存在するかどうかを確認したり、ウィジェットがいくつあるかを確認したりするなど、表現できる内容において非常に強力です。フレームワークのテストにはたくさんの例があります。ここではいくつかの例を示します。
// check that MyWidget is displayed
expect(find.byType(MyWidget), findOneWidget);
// check that 5 widgets of type MyWidgets are displayed
expect(find.byType(MyWidget), findNWidgets(5));
ファインダー自体はエラーをスローしませんがexpect
、マッチャー (例: findOneWidget
) が満たされない場合にスローします。ウィジェットの存在を単にアサートするのではなく、ウィジェットと対話する必要がある場合は、WidgetTesterのいずれかのメソッドを使用します。
// Get the layout size of the render object for the given widget
tester.renderObject<RenderBox>(find.byType(Text)).size;