afUnitTestMain function

void afUnitTestMain(
  1. AFCommandOutput output,
  2. AFTestStats stats,
  3. AFDartParams paramsD
)

The main function which executes the tests defined in your initUnitTests function.

Implementation

void afUnitTestMain(AFCommandOutput output, AFTestStats stats, AFDartParams paramsD) {
  if(!AFConfigEntries.testsEnabled.isAreaEnabled(AFibD.config, AFConfigEntryEnabledTests.unitTests)) {
    return;
  }

  final tests = AFibF.g.unitTests;
  final contexts = <AFUnitTestContext>[];
  const testKind = "Unit";
  final localStats = AFTestStats();

  for(final test in tests.tests) {
    if(AFConfigEntries.testsEnabled.isTestEnabled(AFibD.config, test.id)) {
      if(localStats.isEmpty) {
        printTestKind(output, testKind);
      }

      final context = AFUnitTestContext(test);
      test.execute(context);
      contexts.add(context);
      output.indent();
      printTestResult(output, testKind, context, localStats);
      output.outdent();
      context.finishAndUpdateStats(localStats);
    }
  }

  final baseContexts = List<AFBaseTestExecute>.of(contexts);
  printTestTotal(output, baseContexts, localStats);
  stats.mergeIn(localStats);
}