Запуск юнит-тестов с Isar во Flutter
Как правильно запускать юнит-тесты в Isar? я продолжаю получатьnull
дляIsar.getInstance()!
не позволяя мне выполнять какие-либо запросы. Отличается ли синтаксис при выполнении тестов от запуска в приложении? В документах нет абсолютно ничего о юнит-тестировании.
void main() async {
setUpAll(() async {
// This is always null
Isar isar = Isar.getInstance()!;
print(isar); // null
});
test('', () {
// Empty
}, tags: 'service');
}
1 ответ
У меня была та же проблема, и я нашел решение на странице проблем isar на GitHub .
void main() {
late Isar isar;
final data = [.. users data];
setUpAll(() async {
await Isar.initializeIsarCore(download: true);
isar = await Isar.open([IsarUserSchema]);
await isar.writeTxn(() async {
await isar.users.clear();
});
});
tearDownAll(() async {
await isar.close();
});
setUp(() async {
await isar.writeTxn(() async {
await isar.users.clear();
});
});
// Test for example
test('addUsers add N users to DB', () async {
await isar.writeTxn(() => isar.users.putAll(data));
final result = await isar.users.count();
expect(result, data.length);
});
}