Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        /// <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);
        }