MBUnit の 2 つのオブジェクトを比較して、それらが異なるインスタンスであっても、オブジェクトが同じように「見える」場合にテストに合格する方法があるかどうかを知りたいですか?
例えば:
[TestFixture]
class ComparisonTestFixture
{
class foo
{
public string bar;
}
[Test]
public void ComparisonTest()
{
foo foo1 = new foo()
{
bar = "baz"
};
foo foo2 = new foo()
{
bar = "baz"
};
//This assertion should be successful, but it isn't
//*** Failures ***
//Expected values to be equal.
//Expected Value & Actual Value : {foo: bar = "zzz...."}
//Remark : Both values look the same when formatted but they are distinct instances.
Assert.AreEqual(foo1,foo2);
}
}
Assert.AreEqual() はこれに対して機能しません (テストは失敗します。上記のソース コードを参照してください)。「フォーマットすると両方の値が同じように見えますが、それらは異なるインスタンスです」と述べているため、独自のコードでオブジェクトを XML にシリアル化せずに、MbUnit に組み込む方法が必要であると考えています。
これには独自の Assert 拡張メソッドを作成する必要がありますか?