Exemple #1
0
        private static void Run(Action f)
        {
            bool   testPassed = false;
            string testCaseName;

            try
            {
                TestCasesOld.SuiteSetup();

                testCaseName = f.Method.ToString().Replace("Void ", "").Replace("()", "");

                if (testCaseName.StartsWith("Test_"))
                {
                    testCasesCount++;
                }

                foreach (string regexFilter in TestCasesOld.runFilters)
                {
                    Match match = Regex.Match(testCaseName, regexFilter, RegexOptions.IgnoreCase);
                    if (match.Success && (TestCasesOld.matchExactName == false || (TestCasesOld.matchExactName && testCaseName == regexFilter)))
                    {
                        Console.WriteLine("Executing: [" + testCaseName + "]" + "...");
                        executed++;

                        try
                        {
                            TestCasesOld.TestSetup();
                            f();
                            TestCasesOld.TestCleanup();

                            passed++;
                            testPassed = true;
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine("Error: " + ex.Message);
                            Console.WriteLine("Details: " + ex.StackTrace);
                        }

                        break; //exit foreach, as test case name might match multiple filters
                    }
                    else
                    {
                        //Console.WriteLine("Skipped: [" + testCaseName + "]");
                    }
                }
            }
            finally
            {
                TestCasesOld.SuiteCleanup();
            }

            if (!testPassed)
            {
                failedTestCases.Add(testCaseName);
            }
        }