我是嘲笑的新手.我想模拟我的基础存储库,它依赖于Entity Framework 6 DbContext但是我失败了.我在Google搜索了很多但没有得到任何足够的结果.最后我得到了一个使用异步查询进行测试的示例,并尝试关注但它对我有用.
这是我的代码:
DbContext:
public class TimeSketchContext : DbContext
{
public virtual DbSet<EmployeeSkill> EmployeeSkill { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
基础知识库:
public class BaseRepository<T> : IRepositoryBase<T> where T : class, IEntity, new()
{
protected readonly DbContext InnerDbContext;
protected DbSet<T> InnerDbSet;
public BaseRepository(DbContext innerDbContext)
{
InnerDbContext = innerDbContext;
InnerDbSet = InnerDbContext.Set<T>();
}
public virtual Task<T> FindAsync(long id)
{
return InnerDbSet.FirstOrDefaultAsync(x=>x.Id == id);
}
Run Code Online (Sandbox Code Playgroud)
}
测试:
[Fact]
public async Task DbTest()
{
var dummyData = GetEmployeeSkills();
var …Run Code Online (Sandbox Code Playgroud)