タイマーアプリを書いています。単体テストで、タイマーが適切に動作しているかどうかをテストするために数秒間待つにはどうすればよいですか?
// I want something like this.
test("Testing timer", () {
int startTime = timer.seconds;
timer.start();
// do something to wait for 2 seconds
expect(timer.seconds, startTime - 2);
});
await
Future.delayed(...) `を使用できます:
test("Testing timer", () async {
int startTime = timer.seconds;
timer.start();
// do something to wait for 2 seconds
await Future.delayed(const Duration(seconds: 2), (){});
expect(timer.seconds, startTime - 2);
});
別の方法は、テストで使用される時間を自由に操作できるようにするために、 https://pub.dartlang.org/packages/clock を指定したfake_asyncです。