Open2

AsyncNotifierのbuildをテストする

K9i - Kota HayashiK9i - Kota Hayashi

AsyncNotifierを継承したHogeNotifierがあったとして、

hoge_notifier_test.dart
    final container = ProviderContainer();
    container.listen(
      hogeNotifierProvider,
      fireImmediately: true,
    );

の直後に検証コードを書くと非同期処理(build)が終わっていない。

hoge_notifier_test.dart
    final container = ProviderContainer();
    container.listen(
      hogeNotifierProvider,
      fireImmediately: true,
    );
    // この行を追加
    await container.read(hogeNotifierProvider.future);

futureをawaitすることで、手動で最新の状態の解決を待つことができる。