0
我正在学习测试驱动开发,我想知道我应该怎么做测试驾驶验证。我应该创建测试验证结果的每种可能组合的单元测试吗?在处理大型实体时,这看起来实际上是不可能的。说我有有很多的属性,一些具有约束的模型实体,如下 -我应该单元测试验证码吗?这看起来不切实际
@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函数运行它,并获取失败的验证数量......但是如果我对测试严格要求,我不必为所有可能的无效属性组合进行测试,这将导致创建大量数据的实例进行测试。
因此,在这种情况下,它绝对看起来毫无意义,并不意味着单元测试对于任何实体验证都毫无意义?即如果它们对于具有很多属性的实体毫无意义,那么对于只有少数属性的属性,它们也必定是毫无意义的?
换句话说,每写一个测试来锻炼每个代码分支,并且包含一个测试代码可能抛出的每个异常。在实践中,我发现不是每个开发人员都会完全测试这样的纯数据对象。这取决于您是否想要通过测试来表达要求。这是一个偏好问题。 – 2013-04-27 05:04:37