J'écris une application de minuterie. Lors des tests unitaires, comment puis-je attendre quelques secondes pour tester si ma minuterie fonctionne correctement?
// 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);
});
Vous pouvez utiliser 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);
});
Une alternative serait fake_async avec https://pub.dartlang.org/packages/clock pour pouvoir manipuler librement le temps utilisé dans le test.