group function

void group(
  1. Object? description,
  2. dynamic body(), {
  3. String? testOn,
  4. Timeout? timeout,
  5. Object? skip,
  6. Object? tags,
  7. Map<String, dynamic>? onPlatform,
  8. int? retry,
  9. TestLocation? location,
  10. @Deprecated('Debug only') bool solo = false,
})

Drop-in replacement for package:test's group with Allure reporting.

Implementation

void group(
  Object? description,
  dynamic Function() body, {
  String? testOn,
  t.Timeout? timeout,
  Object? skip,
  Object? tags,
  Map<String, dynamic>? onPlatform,
  int? retry,
  t.TestLocation? location,
  @Deprecated('Debug only') bool solo = false,
}) {
  _ensureAllureInstalled();
  final name = description?.toString() ?? '';
  final packagePath = resolvePackageTestPathFromDeclaration(
    locationUri: location?.uri,
    stackTrace: StackTrace.current,
  );
  PackageTestScopeRegistry.instance.pushGroup(
    name,
    packagePath: packagePath,
  );
  t.group(
    description,
    () {
      try {
        body();
      } finally {
        PackageTestScopeRegistry.instance.popGroup();
      }
    },
    testOn: testOn,
    timeout: timeout,
    skip: skip,
    tags: tags,
    onPlatform: onPlatform,
    retry: retry,
    location: location,
    solo: solo,
  );
}