所以我必须为我的数据检索创建一个单元测试,我想要得到的对象是相当大的。我有带有"GetbyId“的存储库(其中有数据对象和映射的检索)。我认为最好创建两个单元测试:
我们已经创建了一些测试示例,我正在使用测试实体的保存的xmls检查实体,所以我们非常灵活。我的问题是映射,因为我的模型确实有一些接口,我不能序列化它,我不想硬编码每个示例解决方案(因为它们也很多)
有没有人知道我怎么能更好地测试地图?
Ps:我知道,我是解释问题的高手,对不起。
编辑:
这里有一个例子:因为IContact是亲自的,所以我不能序列化它,所以我不知道如何轻松地检查它(这个模型是一个例子,real大约有200行大,而不包括接口中的子行)
public Person: IPerson
{
public Name {get; set;}
public IContact {get; set;}
}
public Contact: IContact
{
public Phone {get; set;}
}发布于 2016-07-26 08:40:56
通常,我在这些情况下使用Compare.net:
//arrange:
var expected = new Person{ Name = "Alice", Contact = new Contact(){Phone = ""}};
CompareLogic compareLogic = new CompareLogic();
//act:
var result = target.GetbyId(1);
//assert:
Assert.IsTrue(compareLogic.Compare(expected, result).AreEqual);另一种选择是使用流利断言(我对这个工具没有经验.)
另一个选项是创建一个用于断言的助手方法,然后在每个测试中重用它。
https://stackoverflow.com/questions/38582693
复制相似问题