2012-07-10 71 views
2

比方说,你有这样定义的请求类:如何编写验证测试?

public class CreateUserRequest { 
    @NotNull 
    @Pattern("^[a-zA-Z0-9]+$") 
    @Size(min = 6, max = 16) 
    public String userName; 

    @NotNull 
    @Pattern("^[a-zA-Z0-9]+$") 
    @Size(min = 8, max = 32) 
    public String password; 

    @NotNull 
    @Pattern("^[a-zA-Z]+ [a-zA-Z]+$") 
    @Size(min = 3, max = 100) 
    public String fullName;  
} 

你怎么写的约束测试? 你是否写这些测试呢?

次要更新

这不是我使用本示例中的约束。这是关于测试/不测试无论你有什么约束。

+0

1)是的,我肯定会写测试。 2)您确定要从全名中排除数字吗? 3)是否还有其他可能无法验证用户可能会合法尝试进入的验证?例如“空格”或“撇号”? – paulsm4 2012-07-10 19:57:49

+0

示例代码中使用的确切约束并不重要。我想知道是否有一种常见的方法来测试约束是否可行。 – agibalov 2012-07-10 20:01:11

回答

0

Hibernate验证器允许验证单个字段,因此对于这种情况,可能的解决方案之一是编写userNamepasswordfullName的测试。这种方法很愚蠢,但你可以检查一下这个更好的方法:Using same constraints in multiple classes