.net-core - 用于 dbset 扩展的单元测试
问题描述
我如何在 dotnet 核心中以 mongodb 作为后端编写以下代码的单元测试。它基本上是 dbset 类的扩展方法,如 dbset.paginate。
public static class DataPagerExtension
{
public static async Task<PagedModel<IEntity>> Paginate<IEntity>(
this IMongoCollection<IEntity> query,
FilterDefinition<IEntity> condition,
SortDefinition<IEntity> sortDefinition,
int page,
int pageSize,
bool paginationRequired)
where IEntity : class
{
var paged = new PagedModel<IEntity>();
paged.CurrentPage = page;
paged.PageSize = pageSize;
var totalItemsCount = query.Find(condition).CountDocuments();
var startRow = (page - 1) * pageSize;
paged.TotalItems = totalItemsCount;
paged.TotalPages = (int)Math.Ceiling(paged.TotalItems / (double)pageSize);
paged.Items = await query.Find(condition)
.Sort(sortDefinition)
.Skip(startRow)
.Limit(pageSize).ToListAsync();
return paged;
}
}
解决方案
推荐阅读
- php - PHP保存和加载类到二进制文件
- kubernetes - kubectl 可以从 AWS 的假定角色中工作吗
- jquery - 如何使用 jQuery 将 data-jqmask 应用于文本框
- javascript - 如果我将 async/await 与什么都不返回的函数一起使用会发生什么?
- c++ - 为什么 const/non-const 函数重载的继承不明确?
- php - 保持 MySQL 数据库与外部源 (.csv) 同步,同时维护以前的数据
- laravel - 从 vuejs 中的另一个元素访问数据
- ocaml - OCaml:找不到版本
- javascript - 在 django 中管理 js 库中的静态链接
- db2 - DB2 CLP 连接到远程数据库