在我的模拟上下文中,我有以下内容:
var mockContext = new Mock<DbContext>();
mockContext.Setup(c => c.Set<Track>()).Returns(mockSet.Object);
当我尝试为我的存储库创建模拟对象时,我使用以下代码
EfRepository<Track> _efTrackRepository = new EfRepository<Shelf>(mockContext);
我收到以下错误,有什么方法可以解决这个问题吗?
错误:
参数1:无法转换为&#39; Moq.Mock&lt; System.Data.Entity.DbContext&gt;&#39;到&#39; System.Data.Entity.DbContext&#39;
答案 0 :(得分:7)
您应该使用mockContext.Object
//
// Summary:
// Exposes the mocked object instance.
public virtual T Object { get; }