【发布时间】:2018-07-11 07:24:40
【问题描述】:
我需要帮忙。我需要对此源代码编写一些单元测试。我试着写了它,但我没有成功。
public class PagedCollection<T> : ReadOnlyCollection<T>,
IPagedCollection<T>
{
public int CurrentPage { get; }
public int TotalPages { get; }
public int PageSize { get; }
public int TotalCount { get; }
public bool HasPrevious => CurrentPage > 1;
public bool HasNext => CurrentPage < TotalPages;
public PagedCollection(ICollection<T> items, int count, int pageNumber, int pageSize) : base(items.ToList())
{
EnsureArg.IsGte(count, 0, nameof(count));
EnsureArg.IsGt(pageNumber, 0, nameof(pageNumber));
EnsureArg.IsGt(pageSize, 0, nameof(pageSize));
TotalCount = count;
CurrentPage = pageNumber;
PageSize = pageSize;
TotalPages = (int)Math.Ceiling(count / (double)pageSize);
}
}
}
谁能帮帮我?
【问题讨论】:
-
我假设这是 C#。如果不是这种情况,请edit 你的问题来修复标签,并且永远记得在将来添加一个语言标签。另请描述您所说的“不成功”是什么意思,并展示您尝试过的方法,以便人们可以帮助您解决问题。
-
您是否要对构造函数进行单元测试?构造函数不应该有业务逻辑。基于构造函数,我进行了几个测试,那些 EnsureArg 函数和 TotalPageg 计算。但是你没有提供你想测试什么的描述。
-
我试着写了,但没有成功。 - 你能证明你写了什么吗?你有什么具体问题吗?抱歉,但没有更具体的细节,您的问题显然仍然存在:“请为我完成我的任务”;)
标签: c# unit-testing