😃
【学び】Futureの使い方
対象読者
- Future関連のエラーで詰まった人
- 未来の自分
環境
Dart SDK version: 3.0.3 (stable) (Wed May 31 15:35:05 2023 +0000) on "macos_arm64"
Flutter 3.10.4 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 682aa387cf (6 weeks ago) • 2023-06-05 18:04:56 -0500
Engine • revision 2a3401c9bb
Tools • Dart 3.0.3 • DevTools 2.23.1
結論
-
戻り値にFutureを付けたいなら、async/awaitを使いましょう!!!
-
例
// ↓ここ
test("DBからタスクの一覧を取得する", () async {
TestWidgetsFlutterBinding.ensureInitialized();
sqfliteFfiInit();
databaseFactory = databaseFactoryFfi;
final driver = TodoDriverImpl();
// ↓ここ
final actual = await driver.getAll();
List<DriverTask> expected = [];
expect(actual, expected);
});
まとめ
- このくらい記事のまとめるほどことでもないが、絶対に忘れるので残しておく。
- だめなコードは以下
- だめなコードでもコンパイル通っちゃうのが。。。
test("DBからタスクの一覧を取得する", () {
TestWidgetsFlutterBinding.ensureInitialized();
sqfliteFfiInit(); // 追加
databaseFactory = databaseFactoryFfi; // 追加
final driver = TodoDriverImpl();
final actual = driver.getAll(); as List<DriverTask>
List<DriverTask> expected = [];
expect(actual, expected);
});
Discussion