run function
Starts up the script.
Implementation
Future<void> run(
List<String> args, {
required Logger logger,
required TestWriter testWriter,
}) async {
try {
final arguments = ArgumentParser().parse(args);
if (arguments is HelpArgs) {
logger.stdout(arguments.message);
return;
} else if (arguments is MainArgs) {
final testFileCount = await testWriter.generateMainTest(
directory: arguments.directory,
fileName: arguments.file,
arguments: arguments.testArguments,
templateOrPath: arguments.template,
shard: arguments.shard,
);
if (testFileCount != 0) {
logger.stdout(
'Merged ${bold('$testFileCount')} test file(s) into '
'one ${bold(arguments.file)}',
);
} else {
logger.stdout(
'${red('No test')} were found. '
'Make sure the tests have postfix ${bold('_test.dart')}.',
);
}
}
} on ArgumentException catch (e) {
logger.stderr(e.message);
}
}