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。