【发布时间】:2014-08-10 09:57:51
【问题描述】:
目前,我编写了一个存储实体的存储库。 该实体是一个对象,并且继承自基类“Entity”。
public class Entity
{
#region Constructors
public Entity() : this(DateTime.Now, DateTime.Now) { }
public Entity(DateTime creationDate, DateTime updateDate)
{
DateCreated = creationDate;
DateUpdated = updateDate;
}
#endregion
#region Properties
[Key]
[Required]
[Column(Order= 0)]
public int Id { get; private set; }
[Required]
[Column(Order = 998)]
public DateTime DateCreated { get; private set; }
[Required]
[Column(Order = 999)]
public DateTime DateUpdated { get; internal set; }
#endregion
}
现在我想对包含实现实体的对象的存储库进行单元测试(而不是集成测试)。
我创建了一个假存储库,它使用 HashSet 将对象存储在内存中。 现在,问题是,当我将实体添加到我的存储库时,所有 Id 值都被分配为“0”,这是正常的。
在实体框架上,它们被分配了一个唯一的 int 值(从 0 开始),由于数据注释,这也是正常的。
现在我想知道在运行单元测试时如何模拟数据注释的相同行为,因为现在,我的存储库中可以有多个具有相同“键”值的记录,当然不应该在任何情况下都有可能。
谢谢。
【问题讨论】:
标签: c# unit-testing