sqflite's `openDatabase` never ends in tests
08:53 17 Jul 2022

I'm writing a Flutter integeration test, which includes opening databases with sqflite, the code is as follows:

import 'package:flutter_test/flutter_test.dart';
import 'package:our_habits/my_app.dart';
import 'package:sqflite/sqflite.dart';


void main() {

  testWidgets("Test sqflite database", (WidgetTester tester) async {
    print("start");
    await tester.pumpWidget(const MyApp());
    print("pumpWidget is done");
    await openDatabase(
        inMemoryDatabasePath,
        version: 1,
        onCreate: (Database db, int version) async {
        }
    );
    print("end");
  });
}

As you can see, the code is very simple. However, it doesn't work at all. I noticed that end is never printed because openDatabase is never finished. Why? How to make it work?

flutter sqlite testing flutter-test sqflite