いくつかの機能についていくつかの単体テストを作成するように求められましたが、率直に言って、この特定のコードに対して作成する必要性や有用性についてはよくわかりません。私は、一般的な単体テストの必要性や有用性に疑問を投げかけているわけではありません。
問題のコードは非常に些細なもので、よく使われます。基本的には、.Skip()および.Take()拡張メソッドのラッパーです。私の意見では、方法全体の正当性には疑問があります。
コードは基本的にこれです:
public IQueryable<T> Page(IQueryable<T> query, int page, int size)
{
if(query == null) throw new ArgumentNullException("query");
if(page < 0) throw new ArgumentOutOfRangeException("page");
if(page < 0) throw new ArgumentOutOfRangeException("size");
return query.Skip(page * size).Take(size);
}
もちろん、予想される例外の単体テストはできますが、他に何がありますか?私が要点を見逃している可能性が非常に高いので、これはどうしたのですか?