首页 > 解决方案 > 用于 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;
    }
}

标签: .net-core

解决方案


推荐阅读