My unit tests require a setup that needs to run asynchronously. That is, I need to wait for the setup to finish before the tests are run, but the setup deals with Futures.
While the accepted answer by Seth is correct, the following example may be easier to understand and reuse. It returns a Future
and performs the setup in the Future's async worker function:
setUp(() {
return Future(() async {
await someFuture();
callSomeFunction();
await anotherFuture();
});
});
The test cases will be called after the last call to anotherFuture()
returns.