Linq クエリを実行するメソッドを作成しており、TDD を使用してそれを実行しようとしています。
ただし、クエリにはAny()
が含まれるようになりましたが、テストを作成した後にコード内のものを削除または変更して、カバーする必要があるすべてのテストがカバーされているかどうかを確認することがあります。
Any()
それから私は楽しみのために変わり始めましたAll()
、そして私のテストはまだ合格しました.
次のようにすべての異なるケースをチェックする必要があるかどうか疑問に思っていたので、すべてAll()
とAny()
組み合わせを取得します。
- 私のリストにゼロ要素が含まれているとします(
All()
返されますtrue
が、Any()
返されますfalse
) - リストにいくつかの要素が含まれており、述語を満たす要素は 1 つだけであるとします。
- 私のリストにいくつかの要素が含まれていて、それらのすべてが述語を満たしているとします。
TDD に関する本を何冊か読んだことがありますが、人々はしばしばコードを「偽造」して、テストが失敗するようにしています。しかし、この場合、それを偽造するために必要以上のコードを書かなければなりません。