internal static void AddTestResultTextDetail(ITestResultDetailCmdletBaseDataObject cmdlet, object detail)
{
ITestResultDetail testResultDetail =
new TestResultDetail();
testResultDetail.AddTestResultDetail(
TestResultDetailTypes.Comment,
detail.ToString());
CurrentTestResult.Details.Add(testResultDetail);
testResultDetail.DetailStatus = cmdlet.TestResultStatus;
switch (cmdlet.TestResultStatus) {
case TestStatuses.Failed:
if (TestStatuses.KnownIssue != CurrentTestResult.enStatus)
CurrentTestResult.enStatus = TestStatuses.Failed;
break;
case TestStatuses.Passed:
if (TestStatuses.KnownIssue != CurrentTestResult.enStatus &&
TestStatuses.Failed != CurrentTestResult.enStatus)
CurrentTestResult.enStatus = TestStatuses.Passed;
break;
case TestStatuses.NotRun:
// nothing to do
break;
case TestStatuses.KnownIssue:
CurrentTestResult.enStatus = TestStatuses.KnownIssue;
break;
default:
// cmdlet.WriteVerbose(cmdlet, "TestResultStatus = ????");
// cmdlet.WriteVerbose(cmdlet, cmdlet.TestResultStatus.ToString());
break;
}
OnTmxNewTestResultDetailAdded(testResultDetail, null);
if (cmdlet.Finished) {
TmxHelper.TestCaseStarted = DateTime.Now;
// 20130621
// TestData.CurrentTestScenario.TestResults.Add(new TestResult(TestData.CurrentTestScenario.Id, TestData.CurrentTestSuite.Id));
// TestData.CurrentTestScenario.TestResults[TestData.CurrentTestScenario.TestResults.Count - 1] =
// TestData.CurrentTestResult;
// 20130621
ITestResult newTestResult = new TestResult(CurrentTestScenario.Id, CurrentTestSuite.Id);
if (CurrentTestResult == CurrentTestScenario.TestResults[CurrentTestScenario.TestResults.Count - 1]) {
// autogeneration + Close-TmxTestResult
CurrentTestScenario.TestResults.Add(newTestResult);
CurrentTestResult = CurrentTestScenario.TestResults[CurrentTestScenario.TestResults.Count - 1];
} else {
// Set-TmxCurrentTestResult + any closing
CurrentTestScenario.TestResults.Add(CurrentTestResult);
CurrentTestResult = newTestResult;
}
}
}