Not sure how you compare the * content * of these two objects with Assert.AreEqual() . I think you need to introduce some Compare method into your mock object, which iterates over the fields of both and accumulates, even in some string fields, the contents of which do not match. You can implement IComparable , override Equals , implement your own method, or something else.
After executing this Compare method, you will have a string with a report about the data in the format you want about fields where the equality comparison failed, if any.
source share