【问题标题】:Argument 1: cannot convert from 'Moq.Mock<System.Data.Entity.DbContext>' to 'System.Data.Entity.DbContext'参数 1:无法从 'Moq.Mock<System.Data.Entity.DbContext>' 转换为 'System.Data.Entity.DbContext'
【发布时间】:2015-10-13 20:00:49
【问题描述】:

在我的模拟上下文中,我有以下内容:

 var mockContext = new Mock<DbContext>();
 mockContext.Setup(c => c.Set<Track>()).Returns(mockSet.Object);

当我尝试为我的存储库创建模拟对象时,我使用以下代码

EfRepository<Track> _efTrackRepository = new EfRepository<Shelf>(mockContext);

我收到以下错误,有什么办法可以解决这个问题吗?

错误:

参数 1:无法从 'Moq.Mock' 转换为 'System.Data.Entity.DbContext'

【问题讨论】:

    标签: c# .net unit-testing nunit moq


    【解决方案1】:

    你应该使用mockContext.Object

    //
    // Summary:
    //     Exposes the mocked object instance.
    public virtual T Object { get; }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-05
      • 1970-01-01
      • 2022-01-07
      • 1970-01-01
      • 1970-01-01
      • 2019-09-27
      相关资源
      最近更新 更多