runTest method

  1. @override
Future<void> runTest (
  1. Future<void> testBody(
      ),
    1. VoidCallback invariantTester,
    2. {String description: '',
    3. Duration timeout}
    )
    override

    Call the testBody inside a FakeAsync scope on which pump can advance time.

    Returns a future which completes when the test has run.

    Called by the testWidgets and benchmarkWidgets functions to run a test.

    The invariantTester argument is called after the testBody's Future completes. If it throws, then the test is marked as failed.

    The description is used by the LiveTestWidgetsFlutterBinding to show a label on the screen during the test. The description comes from the value passed to testWidgets. It must not be null.

    The timeout argument sets the initial timeout, if any. It can be increased with addTime. By default there is no timeout.

    Implementation

    @override
    Future<void> runTest(Future<void> testBody(), VoidCallback invariantTester, { String description = '', Duration timeout }) async {
      assert(description != null);
      assert(!inTest);
      _inTest = true;
      renderView._setDescription(description);
      // We drop the timeout on the floor in `flutter run` mode.
      // We could support it, but we'd have to automatically add the entire duration of pumps
      // and timers and so on, since those operate in real time when using this binding, but
      // the timeouts expect them to happen near-instantaneously.
      return _runTest(testBody, invariantTester, description);
    }