private TestRunResult RunInternal(TestRun testRun, ITestRunLogger logger, out TestRunExecutionContext context) { if (testRun == null) { throw new ArgumentNullException(nameof(testRun)); } if (logger == null) { logger = new ConsoleTestRunLogger(); } logger.LogWithTime($"Started to run \"{testRun.Name}\" test."); context = new TestRunExecutionContext { StartedAt = DateTime.Now, Logger = logger }; Initialize(context); context.Logger.LogWithTime("Run OnBeforeTestRun."); OnBeforeTestRun(context); var result = new TestRunResult(testRun.Name); context.Logger.LogWithTime("Run Test."); InvokeTestRun(testRun, context, result, logger); return(result); }
/// <summary> /// Run multiple test runs from test run loader. /// </summary> /// <param name="testRunLoader">Test run loader.</param> /// <param name="logger">Logger to be used.</param> /// <returns>Results.</returns> public virtual IList <TestRunResult> Run(ITestRunLoader testRunLoader, ITestRunLogger logger = null) { if (testRunLoader == null) { throw new ArgumentNullException(nameof(testRunLoader)); } if (logger == null) { logger = new ConsoleTestRunLogger(); } var results = new List <TestRunResult>(); foreach (TestRun testRun in testRunLoader.Get()) { Run(testRun, logger); } return(results); }