私はテスト駆動開発を学んでおり、テスト駆動検証に関して何をすべきかを知りたいです。検証結果のすべての可能な組み合わせをテストする単体テストを作成する必要がありますか? 大規模なエンティティを扱う場合、これは事実上不可能に思えます。次のように、多くの属性を持つモデルエンティティがあり、一部には制約があるとします-
@entity
public class MyClass extends Model {
@Constraints.Required
@Constraints.MaxLength(20)
public String attribute1;
@Constraints.Required
public String attribute2;
public float attribute3;
@Constraints.Required
public String attribute4;
@Constraints.Required
public String attribute5;
@Constraints.Max(100)
public int attribute6;
@Constraints.Required
public String attribute7;
...
...
...
}
だから私はそのようなエンティティを検証するための単体テストを書いていますか、それとも無意味ですか? Validator 関数を使用して実行し、失敗した検証の数を取得できます...しかし、テストについて厳密に言えば、無効な属性のすべての可能な組み合わせに対してそれを行う必要はありません。テストするインスタンスの。
したがって、この場合は間違いなく無意味に思えます。それは、エンティティの検証にとって単体テストが無意味であることを意味するのではないでしょうか? つまり、それらが多くの属性を持つエンティティに対して無意味である場合、少数の属性しか持たない属性に対しても無意味でなければなりませんか?