Exemple #1
0
        public virtual TestRunState Run(IEnumerable <ITestCase> testCases = null, TestRunState initialRunState = TestRunState.NoTests)
        {
            try
            {
                if (testCases != null)
                {
                    testCases = testCases.ToList();
                }

                var visitor = new ResultVisitor(testListener)
                {
                    TestRunState = initialRunState
                };
                toDispose.Push(visitor);

                var executionOptions = TestFrameworkOptions.ForExecution(configuration);
                if (testCases == null)
                {
                    xunit.RunAll(visitor, TestFrameworkOptions.ForDiscovery(configuration), executionOptions);
                }
                else
                {
                    xunit.RunTests(testCases, visitor, executionOptions);
                }

                visitor.Finished.WaitOne();

                return(visitor.TestRunState);
            }
            catch (Exception ex)
            {
                testListener.WriteLine("Error during test execution:\r\n" + ex, Category.Error);
                return(TestRunState.Error);
            }
        }
Exemple #2
0
        private static void ExecuteTests(string code, Action <MessageSink> assertions)
        {
            var assemblyName = TestAssemblyCompiler.Compile(code);
            var sink         = new MessageSink();

            using (var xunit2 = new Xunit2(new NullSourceInformationProvider(), assemblyName, null, false))
            {
                xunit2.RunAll(sink, TestFrameworkOptions.ForDiscovery(), TestFrameworkOptions.ForExecution());
                sink.WaitTillFinished();
                assertions(sink);
            }
        }