7
我的单元测试需要一个需要异步运行的设置。也就是说,我需要等待安装程序在测试运行之前完成,但安装程序会处理期货。如何在Dart的单元测试中等待异步设置?
我的单元测试需要一个需要异步运行的设置。也就是说,我需要等待安装程序在测试运行之前完成,但安装程序会处理期货。如何在Dart的单元测试中等待异步设置?
使用Dart M3,setUp
函数可以选择返回Future
。如果setUp返回Future,则单元测试框架将在运行单个测试方法之前等待Future完成。
下面是一个例子:
group(('database') {
var db = createDb();
setUp(() {
return openDatabase()
.then((db) => populateForTests(db));
});
test('read',() {
Future future = db.read('foo');
future.then((value) {
expect(value, 'bar');
});
expect(future, completes);
});
});
了解更多关于setUp。