예제 #1
0
        public static void Main(String[] args)
        {
            RegisterTests();

            if (args[0].Equals("-v"))
            {
                verbose = true;
                Console.Out.Write("Initiating Test Suites...\n\n");
            }

            for (int s = 0; s < Suites.Count; s++)
            {
                int passed = 0;

                Suite suite = Suites[s];

                if (verbose)
                {
                    Console.Out.Write(suite.Name + ": starting...\n");
                    Console.Out.Flush();
                }


                try {
                    suite.Setup();
                } catch (Exception ex) {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.Out.Write("ERROR: Setup Failed, Reason: " + ex.Message + "\n\n");
                    Console.ForegroundColor = ConsoleColor.Gray;
                    continue;
                }

                for (int i = 0; i < suite.Tests.Count; i++)
                {
                    if (verbose)
                    {
                        Console.Out.Write("  " + suite.Tests[i].Name + "  ");
                    }
                    Console.Out.Flush();
                    try {
                        suite.Tests[i].Function();
                        passed++;
                        ShowPass();
                    } catch (Success) {
                        passed++;
                        ShowPass();
                    } catch (Failure f) {
                        ShowFail(f.info);
                    } catch (Exception ex) {
                        ShowFail(ex.Message);
                        continue;
                    }
                    Console.Out.Flush();
                }

                try {
                    suite.Teardown();
                } catch (Exception ex) {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.Out.Write("ERROR: Teardown Failed, Reason: " + ex.Message + "\n\n");
                    Console.ForegroundColor = ConsoleColor.Gray;
                    continue;
                }

                Console.Out.Write(suite.Name + " finished: " + passed + "/" + suite.Tests.Count + " passed\n\n");
            }

            Console.Out.Write("\nAll testing complete [Press Enter]\n");
            Console.In.ReadLine();
        }