public void TotalVerificationsFailed_should_count_failed_tests() { // Arrange var builder = new TestCaseResultsBuilder() .New().AddPositiveVerify().Add() .New().AddPositiveVerify(false).Add() .New().AddNegativeVerify(false).Add(); var testSession = new TestCaseSession(); testSession.TestCaseResults = builder.GetCollection(); // Act + Assert Assert.That(testSession.TotalVerificationsFailed, Is.EqualTo(2)); }
public void TotalCasesPassed_should_count_passed_tests() { // Arrange var builder = new TestCaseResultsBuilder() .New().WithSuccess().Add() .New().WithSuccess().Add() .New().WithSuccess().Add() .New().WithFail().Add() .New().WithFail().Add(); var testSession = new TestCaseSession(); testSession.TestCaseResults = builder.GetCollection(); // Act + Assert Assert.That(testSession.TotalCasesPassed, Is.EqualTo(3)); }
private static void DumpAsYaml(TestCaseSession session) { var stringBuilder = new StringBuilder(); var serializer = new Serializer(); serializer.Serialize(new IndentedTextWriter(new StringWriter(stringBuilder)), session); Console.WriteLine(stringBuilder); }
private static void DumpAsXml(TestCaseSession session) { var stringBuilder = new StringBuilder(); var serializer = new XmlSerializer(typeof (TestCaseSession)); serializer.Serialize(new StringWriter(stringBuilder), session); Console.WriteLine(stringBuilder); }
public TestCaseSession Run(CaseCollection testCollection) { _isStopPending = false; _currentResults = new List<TestCaseResult>(); var session = new TestCaseSession(); session.StartTime = DateTime.UtcNow; // Add all config variables and ones in this <testcase> var variables = new SessionVariables(); variables.AddGlobalVariables(_config); variables.AddOrUpdateVariables(testCollection.Variables); var verificationsMatcher = new VerificationsMatcher(variables); // Ensure we loop atleast once: int repeatTotal = (testCollection.Repeat > 0) ? testCollection.Repeat : 1; List<Case> testCases = testCollection.TestCases.ToList(); TimeSpan minResponseTime = TimeSpan.MaxValue; TimeSpan maxResponseTime = TimeSpan.MinValue; int totalCasesRun = 0; CasesRun = 0; TotalCases = testCases.Count; RepeatCount = 0; for (int i = 0; i < repeatTotal; i++) { foreach (Case testCase in testCases) { if (_isStopPending) break; try { TestCaseResult result = RunCase(testCase, variables, verificationsMatcher); session.TestCaseResults.Add(result); _currentResults.Add(result); if (result.ResponseTime < minResponseTime) minResponseTime = result.ResponseTime; if (result.ResponseTime > maxResponseTime) maxResponseTime = result.ResponseTime; } catch (Exception ex) { Log.Error(ex, "An exception occurred running case {0}", testCase.Id); } finally { totalCasesRun++; CasesRun++; RepeatCount = i; } } if (_isStopPending) break; } session.EndTime = DateTime.UtcNow; session.TotalRunTime = session.EndTime - session.StartTime; session.TotalCasesRun = totalCasesRun; session.MinResponseTime = minResponseTime; session.MaxResponseTime = maxResponseTime; return session; }