public override void TestsFinished(object sender, TestEventArgs <UnitTestMethod> args) { UnitTestMethod test = args.Test.CopyAs <UnitTestMethod>(); TestSuiteDefinition suite = GetTestSuiteDefinition(args); TestSuiteExecutionSummary summary = GetTestSuiteExecutionSummary(suite); summary.FinishedTime = DateTime.UtcNow; TestReportService.SaveTestSuiteExecutionSummary(summary); }
/// <summary> /// Set a TestSuiteExecutionSummary for the specified test creating it if necessary /// and populating the internal cache /// </summary> /// <param name="suite"></param> /// <returns></returns> protected TestSuiteExecutionSummary SetTestSuiteExecutionSummary(TestSuiteDefinition suite) { lock (_testSuiteExecutionSummaryLock) { if (!_testSuiteExecutionLookupByTitle.TryGetValue(suite.Title, out TestSuiteExecutionSummary summary)) { TestSuiteExecutionSummary executionSummary = new TestSuiteExecutionSummary { TestSuiteDefinitionId = suite.Id, StartedTime = DateTime.UtcNow }; SaveTestSuiteExecutionSummaryResponse response = TestReportService.SaveTestSuiteExecutionSummary(executionSummary); if (response.Success) { summary = response.TestSuiteExecutionSummary; _testSuiteExecutionLookupByTitle.TryAdd(suite.Title, summary); } else { Logger.Warning("Failed to create TestSuiteExecutionSummary: {0}", response.Message); } } return(summary); } }