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); }
public SaveTestSuiteExecutionSummaryResponse SaveTestSuiteExecutionSummary(TestSuiteExecutionSummary toCreate = null) { try { toCreate = toCreate ?? new TestSuiteExecutionSummary(); Meta.SetAuditFields(toCreate); TestSuiteExecutionSummary sum = Repository.Save(toCreate); return(new SaveTestSuiteExecutionSummaryResponse { Success = true, Data = sum, CreateStatus = toCreate.Id > 0 ? CreateStatus.Existing: CreateStatus.Created }); } catch (Exception ex) { return(new SaveTestSuiteExecutionSummaryResponse { Success = false, Message = ex.Message }); } }
protected TestExecution SetTestExecution(UnitTestMethod test) { if (!_testExecutionLookupByMethodInfo.TryGetValue(test.Method, out TestExecution execution)) { TestSuiteDefinition suiteDefinition = GetTestSuiteDefinition(test); TestDefinition testDefinition = GetTestDefinition(suiteDefinition.Title, test); TestSuiteExecutionSummary executionSummary = GetTestSuiteExecutionSummary(suiteDefinition); SaveTestExecutionResponse saveResponse = TestReportService.StartTest(executionSummary.Id, testDefinition.Id, Tag); if (saveResponse.Success) { execution = saveResponse.TestExecution; _testExecutionLookupByMethodInfo.TryAdd(test.Method, execution); } else { Logger.Warning("Failed to get TestExecution: {0}", saveResponse.Message); } } return(execution); }
/// <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) { if (!_testSuiteExecutionLookupByTitle.TryGetValue(suite.Title, out TestSuiteExecutionSummary summary)) { TestSuiteExecutionSummary executionSummary = new TestSuiteExecutionSummary { SuiteDefinitionId = 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); }