I have Assert smt like Assert.AreEqual(2, 3, "wrong")
Can I write wrong
in my log file without needing to use Log.log.Error("wroong");
?
You can use a TestContext
class like this:
[TestFixture]
public class UnitTest
{
private readonly ILog logger = LogManager.GetLogger("your_logger");
[Test]
public void Demo()
{
Assert.AreEqual(2, 3, "wrong");
}
[TearDown]
public void TearDown()
{
if (TestContext.CurrentContext.Result.FailCount > 0)
logger.Error(TestContext.CurrentContext.Result.Message);
}
}
This will write a full error message to your log file:
wrong
Expected: 2
But was: 3