Example #1
0
        /// <summary>
        /// Main method that executes the tests.
        /// </summary>
        /// <param name="testFixtures">Fixtures to execute.</param>
        /// <returns>The results of those tests.</returns>
        public IExecutionResults[] ExecuteTests(IEnumerable <IFixture> testFixtures)
        {
            if (testFixtures == null)
            {
                throw new ArgumentNullException("testFixtures");
            }

            _logger.WriteEntry(String.Format("Test runner starting. {0}", DateTime.Now), LogLevel.Setup);

            var list = new List <IExecutionResults>();

            foreach (var fixture in testFixtures)
            {
                fixture.Setup();


                foreach (var performanceTestPass in PerformTests(fixture.BenchmarkTests))
                {
                    _logger.WriteEntry(_formatter.FormatResult(performanceTestPass), LogLevel.Results);
                    list.Add(performanceTestPass);
                }


                fixture.Teardown();
            }
            _logger.WriteEntry(String.Format("Test runner complete. {0}", DateTime.Now), LogLevel.Setup);


            return(list.ToArray());
        }