11

私の単体テストには、非同期で実行する必要があるセットアップが必要です。つまり、テストを実行する前にセットアップが完了するのを待つ必要がありますが、セットアップでは Future が処理されます。

4

2 に答える 2

14

Dart M3 では、setUp関数はオプションで を返すことができますFuture。setUp が Future を返す場合、unittest フレームワークは 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をご覧ください。

于 2013-02-21T04:24:02.983 に答える