public void TearDown() { // Figure out the padding (if any) to prepend to the log line LogPadding logPadding = new LogPadding(new StackTrace().GetFrame(1).GetMethod().ReflectedType); // Logging - Before action StringBuilder sb = new StringBuilder(); sb.AppendLine(logPadding.Padding + "TestBase.TearDown()"); sb.AppendLine(logPadding.InfoPadding + "[STACK] Caller: " + new StackTrace().GetFrame(1).GetMethod().ReflectedType + "." + new StackTrace().GetFrame(1).GetMethod().Name + "()"); Log.Write(sb.ToString()); // Perform the action try { // Check if the Test that is ending was a failure if (NUnit.Framework.TestContext.CurrentContext.Result.Outcome != NUnit.Framework.Interfaces.ResultState.Success) { // Take screenshot of the failure state AppBase.TakeScreenshot(); } // Quit this driver, closing every associated window. AppBase.Quit(); // Logging - After action success Log.Success(logPadding.Padding); } catch (Exception e) { // Logging - After action exception sb = Log.Exception(sb, e); // Fail current Test Assert.Fail(sb.ToString()); } finally { // Logging - After action Log.Finally(""); // Print this Test's log (from "TestContext") to the system console string log = TestContext.Get("log").ToString(); if (log.Length > 0) { Console.WriteLine(log); } } }
public void TearDown() { // Log Before Action Log.BeforeAction(); // Perform the action try { // Check if the Test that is ending was a failure if (NUnit.Framework.TestContext.CurrentContext.Result.Outcome != NUnit.Framework.Interfaces.ResultState.Success) { // Take screenshot of the failure state AppBase.TakeScreenshot(); } // Quit this driver, closing every associated window. AppBase.Quit(); // Logging - After action success Log.Success(); } catch (Exception e) { // Logging - After action exception Log.Failure(e.Message); // Fail current test Assert.Fail(e.Message); } finally { // Logging - After action Log.Finally(); // Print log to console (for Visual Studio and Bamboo) string log = TestContext.Get("log").ToString(); if (log.Length > 0) { Console.WriteLine(log); } } }