我的 flitter 项目中有一个测试文件夹,其中包含以下内容:
group ('beneficiary methods tests', () {
test('insert beneficiary test',()async{…}
test('update beneficiary test',()async{…}
test('get beneficiary test',()async{…}
});
await deleteDatabase('testingDB');
我期望的是逐行运行代码,这意味着数据库将在每次测试执行后删除,但是这并没有发生,测试依赖于数据库,并且它们失败并出现以下错误
SafLiteFfiException(error,
Bad state: This database
has already been closed})
将 await deleteDatabase('testingDB'); 移至组上方解决了错误,但我仍然想了解此行为的原因
您在那里的
async
似乎表明您在那里有异步代码。异步代码非常明确地不符合您对代码行按顺序执行的期望。您可能能够在组中使用await
来确保在尝试删除数据库之前这些调用已完成。
要了解更多相关信息,请参阅: