private testcaseType RunTest(TestMethod t, MethodInfo[] setupMethods = null) { TestFilter filter = new NameFilter(t.TestName); var result = t.Run(new TestListener(), filter); //result types //Ignored, Failure, NotRunnable, Error, Success var testCase = new testcaseType { name = t.TestName.Name, executed = result.Executed.ToString(), success = result.IsSuccess.ToString(), asserts = result.AssertCount.ToString(CultureInfo.InvariantCulture), time = result.Time.ToString(CultureInfo.InvariantCulture) }; switch (result.ResultState) { case ResultState.Cancelled: testCase.result = "Cancelled"; break; case ResultState.Error: var f = new failureType { message = result.Message, stacktrace = result.StackTrace }; testCase.Item = f; testCase.result = "Error"; break; case ResultState.Failure: var fail = new failureType { message = result.Message, stacktrace = result.StackTrace }; testCase.Item = fail; testCase.result = "Failure"; break; case ResultState.Ignored: testCase.result = "Ignored"; break; case ResultState.Inconclusive: testCase.result = "Inconclusive"; break; case ResultState.NotRunnable: testCase.result = "NotRunnable"; break; case ResultState.Skipped: testCase.result = "Skipped"; break; case ResultState.Success: testCase.result = "Success"; break; } return testCase; }