Ejemplo n.º 1
0
        private static void RunTests(string assemblyPath)
        {
            var package = new TestPackage(assemblyPath);
            var engine = new TestEngine();
            var runner = engine.GetRunner(package);

            XmlNode result = runner.Run(new TestListener(), TestFilter.Empty);
            string overallResult = result.GetAttribute("result");

            Console.WriteLine("Test Run for {0} {1}", assemblyPath, result.GetAttribute("result"));
            Console.WriteLine("    Passing Tests:      {0}", result.GetAttribute("passed"));
            Console.WriteLine("    Failing Tests:      {0}", result.GetAttribute("failed"));
            Console.WriteLine("    Inconclusive Tests: {0}", result.GetAttribute("inconclusive"));
            Console.WriteLine("    Skipped Tests:      {0}", result.GetAttribute("skipped"));
            Console.WriteLine();
        }
Ejemplo n.º 2
0
		private void ExecuteNUnitTestRunner(IServer server, BuildInstructions instructions)
		{
			log.Log(LogSeverity.Information, "Executing NUnit Test Runner");
			XmlNode result2;
			using (var r = new TestEngine())
			{
				r.Initialize();
				var pkg = new TestPackage(instructions.TargetUnitTestingAssembly);
				using (var runner = r.GetRunner(pkg))
				{
					var filter = TestFilter.Empty;
					var tests = runner.CountTestCases(filter);
					log.Log(LogSeverity.Information, $"Found {tests} tests");
					result2 = runner.Run(null, filter);
				}
			}
			
			Func<string, TestStatus> parse = x =>
			{
				if(x == "Passed") return TestStatus.Passed;
				return TestStatus.Failed;
			};

			ClientInformation status;
			try
			{
				var root = XDocument.Parse(result2.OuterXml);
				var testResults =
					from el in root.Descendants("test-case")
					select new TestResult(el.Attribute("name").Value, parse(el.Attribute("result").Value));
				status = new ClientInformation(Environment.MachineName, instructions.Session, BuildStatus.Successful, testResults.ToArray());
			}
			catch (Exception e)
			{
				var msg = "Error parsing test result XML document, check version of NUnit";
				log.Log(LogSeverity.Error, msg);
				throw new ApplicationException(msg, e);
			}
			
			server.UpdateClientStatus(status);
			log.Log(LogSeverity.Information, "Test fixtures execution complete");
		}