我正在尝试为调用异步存储库的类创建单元测试.我正在使用ASP.NET Core和Entity Framework Core.我的通用存储库看起来像这样.
public class EntityRepository<TEntity> : IEntityRepository<TEntity> where TEntity : class
{
private readonly SaasDispatcherDbContext _dbContext;
private readonly DbSet<TEntity> _dbSet;
public EntityRepository(SaasDispatcherDbContext dbContext)
{
_dbContext = dbContext;
_dbSet = dbContext.Set<TEntity>();
}
public virtual IQueryable<TEntity> GetAll()
{
return _dbSet;
}
public virtual async Task<TEntity> FindByIdAsync(int id)
{
return await _dbSet.FindAsync(id);
}
public virtual IQueryable<TEntity> FindBy(Expression<Func<TEntity, bool>> predicate)
{
return _dbSet.Where(predicate);
}
public virtual void Add(TEntity entity)
{
_dbSet.Add(entity);
}
public virtual void Delete(TEntity entity)
{
_dbSet.Remove(entity);
}
public virtual …Run Code Online (Sandbox Code Playgroud) 我有这个测试:
[Fact]
public async void Can_Paginate()
{
//fake data
var product1 = new Product { ProductId = 1, ProductName = "P1" };
var product2 = new Product { ProductId = 2, ProductName = "Product 2" };
var product3 = new Product { ProductId = 3, ProductName = "Product 3" };
var product4 = new Product { ProductId = 4, ProductName = "Product 4" };
var product5 = new Product { ProductId = 5, ProductName = "Product 5" };
var data …Run Code Online (Sandbox Code Playgroud)