首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#单元测试:从仓库检索数据

C#单元测试:从仓库检索数据
EN

Stack Overflow用户
提问于 2016-07-26 06:41:46
回答 1查看 848关注 0票数 7

所以我必须为我的数据检索创建一个单元测试,我想要得到的对象是相当大的。我有带有"GetbyId“的存储库(其中有数据对象和映射的检索)。我认为最好创建两个单元测试:

  1. 检索数据对象
  2. 映射到我的模型

我们已经创建了一些测试示例,我正在使用测试实体的保存的xmls检查实体,所以我们非常灵活。我的问题是映射,因为我的模型确实有一些接口,我不能序列化它,我不想硬编码每个示例解决方案(因为它们也很多)

有没有人知道我怎么能更好地测试地图?

Ps:我知道,我是解释问题的高手,对不起。

编辑:

这里有一个例子:因为IContact是亲自的,所以我不能序列化它,所以我不知道如何轻松地检查它(这个模型是一个例子,real大约有200行大,而不包括接口中的子行)

代码语言:javascript
复制
public Person: IPerson 
{
    public Name {get; set;}
    public IContact {get; set;}
}

public Contact: IContact
{
    public Phone {get; set;} 
}
EN

回答 1

Stack Overflow用户

发布于 2016-07-26 08:40:56

通常,我在这些情况下使用Compare.net

代码语言:javascript
复制
//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);

另一种选择是使用流利断言(我对这个工具没有经验.)

另一个选项是创建一个用于断言的助手方法,然后在每个测试中重用它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38582693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档