diff --git a/packages/integration_test/lib/integration_test.dart b/packages/integration_test/lib/integration_test.dart index de425743253..2d722ae3acd 100644 --- a/packages/integration_test/lib/integration_test.dart +++ b/packages/integration_test/lib/integration_test.dart @@ -319,4 +319,13 @@ class IntegrationTestWidgetsFlutterBinding extends LiveTestWidgetsFlutterBinding reportData ??= {}; reportData[reportKey] = frameTimes.summary; } + + @override + Timeout get defaultTestTimeout => _defaultTestTimeout ?? super.defaultTestTimeout; + + /// Configures the default timeout for [testWidgets]. + /// + /// See [TestWidgetsFlutterBinding.defaultTestTimeout] for more details. + set defaultTestTimeout(Timeout timeout) => _defaultTestTimeout = timeout; + Timeout _defaultTestTimeout; } diff --git a/packages/integration_test/test/binding_test.dart b/packages/integration_test/test/binding_test.dart index 03879a825a3..7d8a976c7b9 100644 --- a/packages/integration_test/test/binding_test.dart +++ b/packages/integration_test/test/binding_test.dart @@ -87,6 +87,19 @@ Future main() async { json.encode(_kTimelines), ); }); + + group('defaultTestTimeout', () { + final Timeout originalTimeout = integrationBinding.defaultTestTimeout; + tearDown(() { + integrationBinding.defaultTestTimeout = originalTimeout; + }); + + test('can be configured', () { + const Timeout newTimeout = Timeout(Duration(seconds: 17)); + integrationBinding.defaultTestTimeout = newTimeout; + expect(integrationBinding.defaultTestTimeout, newTimeout); + }); + }); }); tearDownAll(() async {