テストにおけるBuilderパターンの活用
初めに登壇したのは、株式会社ゆめみ Flutterギルド テックリード 和泉田領一氏。Builderパターンとは、複雑なオブジェクトの構築をシンプルにするためのデザインパターンのこと。オブジェクトの構築をBuilderクラスに移譲することで「オブジェクトの構築プロセスを隠蔽できる」「オブジェクトの構築手順を変更しやすい」「同じ構築プロセスで異なる表現のオブジェクトを作成できる」などの利点がある。
本セッションでは「(依存関係やテストの実行環境のための)ProviderContainerのoverrideをBuilderパターンで構築する」手順について解説。Riverpodを使ったFlutterアプリのユニットテストでは、ProviderContainerのoverridesを設定することで、テスト用のデータやモックを注入する。この際に、BuilderパターンでProviderContainerのoverrideを構築することで、テストごとに必要なoverrideを柔軟に設定できるのだ。
この手法に加えて、Widget Testでテスト対象となるWidgetをBuilderパターンで構築する方法についても紹介。いずれもサンプルコードを提示し、実践的なノウハウが多数含まれていた。サンプルコードが公開されているので、参照可能だ。