そのため、アプリケーションには、あるタイプを別のタイプにマップするレイヤーがありますobject
。ViewModel
マッピングのタイプをモデル化することを考えてください。には、異なる名前のViewModel
プロパティがあるか、モデルに存在しない可能性があります。また、その逆も同様です。
割り当てを比較してマッピングレイヤーをテストしたいだけでなく、異なるプロパティに対して何らかのソートエッジケース処理を提供できるようにします。理想的には、のすべてのプロパティがViewModel
チェックされていない場合、テストは失敗します。
そのような獣がすでに存在するかどうか誰かが知っていますか?
public class CustomerViewModel
{
// This is the same as CustomerModel.CustomerName, but the names differ
public string Name { get; set; }
public int ID { get; set; }
}
public class CustomerModel
{
public string CustomerName { get; set; }
public int ID { get; set; }
}
// Would auto test the properties that match automatically. Additionaltest test for non matching. Fails if all properties aren't tested
Assert.CompareObjects(customerViewModelInstance, customerModelInstance)
.AdditionalTest("Name", "CustomerName")
.AdditionalComplexText((viewModel, model) =>
{
// do some sort of a compare of complex objects. Maybe the viewmodel has address fields, address1, address2 while the Model has an Address object with those fields.
});
この背後にある原動力は、非常に大規模なアプリケーションのコードですべてのプロパティを手動でアサートする必要があるという困難な作業です。