private static bool ExecuteIfExists(TestRunner runner, MethodInfo m) { if (m != null) { Write(string.Format(" Executing: {0}", m.Name), ConsoleColor.DarkGray); if (!runner.Execute(m)) { WriteLine(" Failed", ConsoleColor.Red); return false; } Console.WriteLine(); } return true; }
static void Main(string[] args) { if (args.Length != 1) { Console.WriteLine("Specify test assembly is parameter"); return; } var location = args.First(); var ai = new AssemblyInspector(location); var classes = ai.GetClasses(); int apassed = 0, afailed = 0; foreach (var c in classes) { var runner = new TestRunner(c); Console.WriteLine(c.Name); var ci = new ClassInspector(c); if (!ExecuteIfExists(runner, ci.GetClassInitialize())) { break; } var testinit = ci.GetTestInitialize(); var testclean = ci.GetTestCleanUp(); var methods = ci.GetMethods(); int cpassed = 0, cfailed = 0; foreach (var m in methods) { if (!ExecuteIfExists(runner, testinit)) { break; } ExecuteTest(ref apassed, ref afailed, runner, ref cpassed, ref cfailed, m); ExecuteIfExists(runner, testclean); } ExecuteIfExists(runner, ci.GetClassCleanUp()); Console.WriteLine(" [{0}] Tests passed: {1}, tests failed: {2}", c.Name, cpassed, cfailed); } Console.WriteLine("Tests passed: {0}, tests failed: {1}", apassed, afailed); }
private static void ExecuteTest(ref int apassed, ref int afailed, TestRunner runner, ref int cpassed, ref int cfailed, System.Reflection.MethodInfo m) { Console.Write(" {0}: ", m.Name); var result = runner.Execute(m); if (result) { WriteLine("Passed", ConsoleColor.Green); cpassed++; apassed++; } else { WriteLine("Failed", ConsoleColor.Red); cfailed++; afailed++; } }
public void TestRunnerShouldRunMultipleTestsOnSameInstance() { var runner = new TestRunner(typeof(TestDemoClass)); runner.Execute(typeof(TestDemoClass).GetMethod("MultipleFirst")); var result = runner.Execute(typeof(TestDemoClass).GetMethod("MultipleSecond")); Assert.IsTrue(result); }
public void TestRunnerShouldAcceptType() { var runner = new TestRunner(typeof(TestDemoClass)); }
public void TestRunnerExecuteClassInitializeOnStatic() { object instance = new TestDemoClass(); var runner = new TestRunner(instance); bool result = runner.Execute(typeof(TestDemoClass).GetMethod("ClassInit")); Assert.IsTrue(result); Assert.IsTrue(TestDemoClass.IsInitialized); }
public void TestExecuteOfTestMethod() { var runner = new TestRunner(typeof(TestDemoClass)); bool result = runner.Execute(typeof(TestDemoClass).GetMethod("MyTestMethod")); Assert.IsTrue(result); }
public void ExecuteOfMethodThrowingExpectedExceptionShouldReturnTrue() { var runner = new TestRunner(typeof(TestDemoClass)); bool result = runner.Execute(typeof(TestDemoClass).GetMethod("ThrowsExpectedException")); Assert.IsTrue(result); }
public void ExecuteOfFailingTestShouldReturnFalse() { var runner = new TestRunner(typeof(TestDemoClass)); bool result = runner.Execute(typeof(TestDemoClass).GetMethod("FailingTest")); Assert.IsFalse(result); }