单元测试 - EF4.1 代码首先模拟最小起订量



我正在尝试使用 EF4.1 Code Frist。我已经开发了我的模型,例如:

public class User
{
    [Key]
    public int Id{get;set;}
    [Column("first_name")]
    [StringLength(30)]
    public string FristName{get;set;}
    //............
    //..............
}

我还编写了一个接口:

public interface IUser
{
    IDbSet<User> Users{get;}
}

我的上下文类如下所示:

public class UserContext : DbContext, IUser
{
    public DbSet<User> Users{get;set;}
    IDbSet<User> IUser.Users{get return{Users;}}
}  

现在我不知道如何使用 Moq 来模拟这个存储库并进行单元测试。也许我是模拟单元测试的新手。

请告诉我或指出一些资源,我可以在其中学习如何在 EF4.1 中使用 Moq。

模拟数据访问时要使用的一种很好的模式是存储库模式和工作单元。 当您对存储库接口进行抽象数据访问时,您可以使用模拟框架,如 moq。为您提供可测试的存储库。

var mockUnitOfWork = new Mock<IUnitOfWork>();
mockUnitOfWork.SetupGet(p => p.UserRepository.GetSomeUsers)
.Returns(new List<User> { "Username", "email","etc"}));  

然后,您可以使用 mockUnitOfWork 和存储库来测试数据访问,而不必命中数据库,因为它只是访问内存中的用户列表。

相关内容

  • 没有找到相关文章

最新更新