繁体   English   中英

测试Rails模型验证

[英]Testing Rails model validations

有许多测试RoR模型验证的例子。 甚至在多个模型中保持测试干燥。 但它不是测试已经测试过的Rails吗?

@user = User.make
@user.name = nil

@user.should_not be_valid

是不是测试Rails验证是否有效?

是不是测试Rails验证是否有效?

关键是它测试您的模型验证名称的存在。 事实上,它实际上测试了Rails验证的工作原理,Rspec的工作原理,Ruby的工作原理,操作系统的工作原理以及物理规则没有突然改变,这一点也不重要。

关键是您测试模型是否正在使用验证。 不过,我同意你的看法,你的例子测试验证本身,测试也有些含糊不清。

如果您使用的是shoulda gem,则可以使用should validate_presence_of(:name)

想一想您的程序中调用update_attribute(update_attribute跳过验证)的方法。 调用该方法会使对象处于无效状态,但数据库仍会更新。 使用有效?/无效? 可以帮助你抓住这种情况。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM