public static HtmlTextWriter AddFailure(this HtmlTextWriter writer, NunitGoTest nunitGoTest, string id = "") { writer.AddAttribute(HtmlTextWriterAttribute.Id, id.Equals("") ? "table-cell" : id); writer.AddStyleAttribute(HtmlTextWriterStyle.Padding, "20px"); writer.RenderBeginTag(HtmlTextWriterTag.Div); if (!nunitGoTest.IsSuccess()) { writer.RenderBeginTag(HtmlTextWriterTag.P); writer.AddTag(HtmlTextWriterTag.B, "Message: "); writer.Write(NunitTestHtml.GenerateTxtView(nunitGoTest.TestMessage)); writer.RenderEndTag(); //P writer.RenderBeginTag(HtmlTextWriterTag.P); writer.AddTag(HtmlTextWriterTag.B, "Stack trace: "); writer.Write(NunitTestHtml.GenerateTxtView(nunitGoTest.TestStackTrace)); writer.RenderEndTag(); //P } else { writer.Write("Test was successful, there is no failure message"); } writer.RenderEndTag();//DIV return writer; }
public void AfterTest(ITest test) { _finish = DateTime.Now; _guid = _guid.Equals(Guid.Empty) ? (NunitGo.TestGuid.Equals(Guid.Empty) ? GuidConverter.ToMd5HashGuid(test.FullName) : NunitGo.TestGuid) : _guid; _testOutput = TestContext.Out.ToString(); _testName = _testName.Equals("") ? NunitGo.TestName : _testName; var context = TestContext.CurrentContext; var relativeTestHref = "Attachments" + @"/" + _guid + @"/" + Output.Files.GetTestHtmlName(_finish); _nunitGoTest = new NunitGoTest { DateTimeStart = _start, DateTimeFinish = _finish, TestDuration = (_finish - _start).TotalSeconds, FullName = test.FullName, ProjectName = _projectName.Equals("") ? test.FullName.Split('.').First() : _projectName, ClassName = _className.Equals("") ? test.FullName.Split('.').Skip(1).First() : _className, Name = _testName.Equals("") ? test.Name : _testName, TestStackTrace = context.Result.StackTrace ?? "", TestMessage = context.Result.Message ?? "", Result = context.Result.Outcome?.ToString() ?? "Unknown", Guid = _guid, HasOutput = !_testOutput.Equals(string.Empty), AttachmentsPath = _attachmentsPath + _guid + @"\", TestHrefRelative = relativeTestHref, TestHrefAbsolute = _configuration.ServerLink + relativeTestHref, Events = NunitGo.GetEvents() }; TakeScreenshotIfFailed(); AddScreenshots(); CleanUpTestFiles(); SaveTestFiles(); SendEmails(_nunitGoTest.IsSuccess()); SendEmailsForEvents(); GenerateReport(); Flush(); }