public ResultsWriter(string type, string currentMethodName, bool executed) { this.currentTestSuite = new ResultTestSuite() { Type = type, Name = currentMethodName, Executed = executed }; }
public void WriteResultsToFile(string testClassName, List<TestCase> testCases) { this.currentTestSuite.Results = new Results() { TestCases = testCases.ToArray() }; ResultTestSuite resultTestSuite = new ResultTestSuite(); if (this.currentTestSuite.Results != null && this.currentTestSuite.Results.TestCases.Any()) { this.currentTestSuite.Success = true; Utilities.WriteToFile(this.currentTestSuite, testClassName); } this.currentTestSuite = null; }
/// <summary> /// Combineds the results per test. /// </summary> /// <param name="testClassName">Name of the test class.</param> /// <param name="list">The list.</param> /// <returns> /// A cumulative object which contains all the tests /// executed for a particular test class /// </returns> public static ResultTestSuite CombinedResultsPerTest(string testClassName, List<ResultTestSuite> list) { var suite = new ResultTestSuite(); var results = new Results(); var testCaseList = new List<TestCase>(); foreach (var items in list) { testCaseList.AddRange(items.Results.TestCases); } suite.Name = testClassName; results.TestCases = testCaseList.ToArray(); suite.Results = results; suite.Time = testCaseList.Sum(x => Convert.ToInt32(x.Time)).ToString(CultureInfo.InvariantCulture); suite.Executed = true; suite.Asserts = testCaseList.Sum(x => int.Parse(x.Asserts)).ToString(); suite.Success = !testCaseList.Any(x => !x.Success); // check and write this to file return suite; }
private void TestCaseHeaderAndSummary(ResultTestSuite obj) { numOfTestFixtures++; if (openDivCount != 0) { result += "</div></div>"; openDivCount = 0; } acc_name = "accordion" + acc_num; acc_num++; result += "<h3><a href='#'> " + obj.Name; if (obj.Success == true) { result += "<img src='images/success.png' "; } else { result += "<img src='images/failure.png' "; } result += "style='position: absolute; left: .5em; top: 50%; margin-top: -8px;'/></a></h3><div>"; result += "<script>$(document).ready(function (){$('#" + acc_name + "').accordion({ clearStyle: true, autoHeight: false, collapsible: true, active: false });});</script>"; result += "<div id='" + acc_name + "'>"; }
private void TestCaseDetail(ResultTestSuite obj) { openDivCount = 2; foreach (var TCaseObject in obj.Results.TestCases) { result += "<h3><a href='#'> " + TCaseObject.Name; if (TCaseObject.Success) { result += "<img src='images/success.png' "; } else { result += "<img src='images/failure.png' "; } result += "style='position: absolute; left: .5em; top: 50%; margin-top: -8px;'/></a></h3><div>"; result += "<table width='100%'>"; result += "<tr>"; result += "<td width='20%' align='center'><b>Executed</b></td>"; result += "<td width='20%' align='center'><b>Success</b></td>"; result += "<td width='20%' align='center'><b>Asserts</b></td>"; result += "<td width='20%' align='center'><b>Time</b></td>"; result += "</tr>"; result += "<tr>"; result += "<td width='20%' align='center'>" + TCaseObject.Executed + "</td>"; result += "<td width='20%' align='center'>" + TCaseObject.Success + "</td>"; result += "<td width='20%' align='center'>" + TCaseObject.Asserts + "</td>"; result += "<td width='20%' align='center'>" + TCaseObject.Time + "</td>"; result += "</tr>"; result += "</table>"; if (TCaseObject.Failure != null) { result += "<br/>"; result += "<table width='100%'>"; result += "<tr>"; result += "<td width='20%' align='center'><b>Message</b></td>"; result += "<td width='80%'>" + TCaseObject.Failure.Message + "</td>"; result += "</tr>"; result += "<tr>"; result += "<td width='20%' align='center'><b>Stack Trace</b></td>"; result += "<td width='80%'>" + TCaseObject.Failure.StackTrace + "</td>"; result += "</tr>"; result += "</table>"; } result += "</div>"; } }