public void Run (TestPlan testPlan) { List<TestCase> tests = GetTests (); Setup (); for (int n=0; n<testPlan.Repeat; n++) { Console.WriteLine ("Test suite iteration: " + n); foreach (TestCase t in tests) { int ti = testPlan.GetIterationsForTest (t.Method.Name); for (int i=0; i<ti; i++) { Console.WriteLine ("Running test {0}: {1}", t.Method.Name, i); t.Method.Invoke (this, null); if (i < ti-1 && t.UndoMethod != null) { t.UndoMethod.Invoke (this, null); } } } } TearDown (); }
public void Run(TestPlan testPlan) { List <TestCase> tests = GetTests(); Setup(); for (int n = 0; n < testPlan.Repeat; n++) { Console.WriteLine("Test suite iteration: " + n); foreach (TestCase t in tests) { int ti = testPlan.GetIterationsForTest(t.Method.Name); for (int i = 0; i < ti; i++) { Console.WriteLine("Running test {0}: {1}", t.Method.Name, i); t.Method.Invoke(this, null); if (i < ti - 1 && t.UndoMethod != null) { t.UndoMethod.Invoke(this, null); } } } } TearDown(); }
public static int Main (string[] args) { int pa = 0; bool attach = false; if (args [pa] == "-a") { attach = true; pa++; } if (pa >= args.Length) { Console.WriteLine ("Test name not provided"); return 1; } string testName = args[pa]; Type testType = typeof(MainClass).Assembly.GetTypes ().FirstOrDefault (t => t.FullName == testName); if (testType == null) testType = typeof(MainClass).Assembly.GetTypes ().FirstOrDefault (t => t.Name == testName); if (testType == null) { Console.WriteLine ("Test not found: " + args[0]); return 1; } StressTest test = (StressTest) Activator.CreateInstance (testType); TestPlan plan = new TestPlan (); plan.Repeat = 1; pa++; if (pa < args.Length) { int rep; if (int.TryParse (args[pa], out rep)) { plan.Repeat = rep; pa++; } } while (pa < args.Length) { string arg = args [pa]; int i = arg.IndexOf ('*'); string tname = arg.Substring (0, i); string it = arg.Substring (i+1); int nit; if (!int.TryParse (it, out nit)) { Console.WriteLine ("Invalid number of iterations: " + it); return 1; } if (tname.Length == 0) plan.Iterations = nit; else { if (!test.HasTest (tname)) { Console.Write ("Unknown test: " + tname); return 1; } plan.SetIterationsForTest (tname, nit); } pa++; } AutoTestClientSession session = new AutoTestClientSession (); try { if (attach) { session.AttachApplication (); } else { string app = typeof(AutoTestClientSession).Assembly.Location; app = Path.Combine (Path.GetDirectoryName (app), "MonoDevelop.exe"); session.StartApplication (app, ""); Console.WriteLine ("Connected"); session.WaitForEvent ("MonoDevelop.Ide.IdeInitialized"); } Console.WriteLine ("Initialized"); TestService.Session = session; test.Run (plan); } finally { if (!attach) { Console.WriteLine ("Press Enter to stop the test process"); Console.ReadLine (); } session.Stop (); } return 0; }