easyTestWidgets function

void easyTestWidgets(
  1. String description,
  2. PatrolWidgetTestCallback callback, {
  3. bool? skip,
  4. Timeout? timeout,
  5. bool semanticsEnabled = true,
  6. TestVariant<Object?> variant = const DefaultTestVariant(),
  7. dynamic tags,
  8. PatrolTesterConfig config = const PatrolTesterConfig(),
  9. Future<void> init()?,
  10. Future<void> tearDown()?,
})

Implementation

void easyTestWidgets(
  String description,
  PatrolWidgetTestCallback callback, {
  bool? skip,
  Timeout? timeout,
  bool semanticsEnabled = true,
  TestVariant<Object?> variant = const DefaultTestVariant(),
  dynamic tags,
  PatrolTesterConfig config = const PatrolTesterConfig(),
  Future<void> Function()? init,
  Future<void> Function()? tearDown,
}) {
  testWidgets(
    description,
    skip: skip,
    timeout: timeout,
    semanticsEnabled: semanticsEnabled,
    variant: variant,
    tags: tags,
    (widgetTester) async {
      final patrolTester = PatrolTester(tester: widgetTester, config: config);

      await runZoned(
        () async {
          mockHttp.init();
          mockChannel.init();
          mockSystemChannel.init();

          mockChannel('plugins.flutter.io/path_provider')
            ..when(
              method: 'getApplicationDocumentsDirectory',
              returns: '/app_root',
            )
            ..when(
              method: 'getApplicationSupportDirectory',
              returns: '/app_root',
            );

          await init?.call();

          try {
            await callback(patrolTester);
            await patrolTester.releasePendingAsync();
          } finally {
            // ignore: invalid_use_of_protected_member
            AppJourneySteps.steps = [];
            debugDefaultTargetPlatformOverride = null;
            await tearDown?.call();
          }
        },
        zoneSpecification: ZoneSpecification(
          print: (self, parent, zone, line) {},
        ),
      );
    },
  );
}