我在测试域验证时遇到问题。 这是我的单元测试:
echo '<script type="text/javascript">
swal({"Ha ocurrido un error", "El nombre de usuario y/o contrase\u00F1a es incorrecto. Por favor, inténtalo de nuevo", "error"}).then(function()
{
setTimeout(function(){window.location = "www.google.com";},2000); // This will alert for two seconds and then it will redirect you to given URL.
});
</script>';
问题是,即使id为null或&#39;,验证结果也是如此。我没想到。 这是SecUser域:
@Unroll
void "Validate domain object SecUser when id:#id, username:#username,
password:#password"() {
when:
SecUser user = new SecUser(id: id, username: username, password:
password, enabled: "true", accountExpired: "false", accountLocked:
"false", passwordExpired: "false")
def userSave = user.validate()
then:
assert userSave == expected
where:
id | username | password || expected
527 | "admin@admin.com" | "test" || true
null | "admin@admin.com" | "test" || false
528 | null | "test" || false
529 | "admin@admin.com" | null || true
'' | "admin@admin.com" | "test" || false
530 | '' | "test" || false
555 | "admin@admin.com" | '' || true
557 | "admin@admin.com, a@b.hr" | "test" || false
}
我不明白这个问题是什么。难道我做错了什么? 谢谢。
答案 0 :(得分:4)
默认情况下,id
方法未检查validate()
。其背后的原因很简单:在实例化的那一刻,id
为空,只有在调用save()
后才会设置。