private void NotifyReporters() { if (_testList.IsNullOrEmpty()) { return; } if (!_testList.IsNullOrEmpty() && _testList[0].IsBehaviorDrivenType) { AnalysisStrategy = AnalysisStrategy.BDD; } lock (_synclock) { ReportStatusStats.Refresh(_testList); } var reportAggregates = new ReportAggregates { TestList = _testList, StatusList = _statusList, ReportStatusStats = this.ReportStatusStats, AuthorContext = this.AuthorContext, CategoryContext = this.CategoryContext, DeviceContext = this.DeviceContext, ExceptionInfoContext = this.ExceptionInfoContext, TestRunnerLogs = this.TestRunnerLogs, SystemAttributeContext = this.SystemAttributeContext }; StarterReporterList.ForEach(x => { x.AnalysisStrategy = AnalysisStrategy; x.Flush(reportAggregates); }); }
internal void AddNode(Test node) { lock (_synclock) { StarterReporterList.ForEach(x => x.OnNodeStarted(node)); } }
internal void AddLog(Test test, Log log) { lock (_synclock) { CollectRunInfo(); StarterReporterList.ForEach(x => x.OnLogAdded(test, log)); } }
internal void SaveTest(Test test) { lock (_synclock) { _testList.Add(test); StarterReporterList.ForEach(x => x.OnTestStarted(test)); } }
protected void Deregister(IExtentReporter reporter) { lock (_synclock) { reporter.Stop(); StarterReporterList.Remove(reporter); } }
/// <summary> /// Subscribe the reporter to receive updates /// </summary> /// <param name="reporter"><see cref="IExtentReporter"/></param> protected void Register(IExtentReporter reporter) { lock (_synclock) { reporter.Start(); StarterReporterList.Add(reporter); } }
internal void RemoveTest(Test test) { lock (_synclock) { RemoveTestTestList(test); RemoveTestTestAttributeContext(test); StarterReporterList.ForEach(x => x.OnTestRemoved(test)); } }
protected void End() { Flush(); StarterReporterList.ForEach(x => x.Stop()); StarterReporterList.Clear(); }
internal void AddScreenCapture(Log log, ScreenCapture screenCapture) { StarterReporterList.ForEach(x => x.OnScreenCaptureAdded(log, screenCapture)); }
internal void AddScreenCapture(Test test, ScreenCapture screenCapture) { StarterReporterList.ForEach(x => x.OnScreenCaptureAdded(test, screenCapture)); }
internal void AssignDevice(Test test, Device device) { StarterReporterList.ForEach(x => x.OnDeviceAssigned(test, device)); }
internal void AssignCategory(Test test, Category category) { StarterReporterList.ForEach(x => x.OnCategoryAssigned(test, category)); }
internal void AssignAuthor(Test test, Author author) { StarterReporterList.ForEach(x => x.OnAuthorAssigned(test, author)); }