Open rafek1241 opened 2 years ago
Hi @rafek1241
I'm not entirely sure yet on the way this should actually look.
As part of #22 I actually added some extension methods which add HaveErrorMessageWithException<T>
as part of the test case.
I'm currently thinking along the lines of adding the following:
private void GivenLogMessaageWithException()
{
var exception = new Exception("BANG BANG!");
exception.Data.Add("some", "property");
_logger.Error(exception, "BANG!");
}
[Fact]
public void GivenLogMessageWithException_NewStyle()
{
GivenLogMessaageWithException();
_inMemorySink
.Should()
.HaveMessage("BANG!")
.Appearing()
.Once()
.WithException<Exception>() // Asserts that there is an exception and that the type matches the expectation
.AndMessage("BANG BANG!");
}
[Fact]
public void GivenLogMessageWithException_NewStyleFullMatch()
{
GivenLogMessaageWithException();
var exception = new Exception("BANG BANG!");
exception.Data.Add("some", "property");
_inMemorySink
.Should()
.HaveMessage("BANG!")
.Appearing()
.Once()
.WithException<Exception>()
.Matching(exception); // This is a shortcut for WithException<Exception>().Subject.Should().BeEquivalentTo(exception)
}
Let me know what you think.
suggestion: