我正在使用Ruby on Rails 3.0.9和RSpec 2.我想知道我应该如何为以下验证方法运行测试:
class User < ActiveRecord::Base
validates :firstname, :unless => :condition,
:presence => true,
...
end
我的意思是:unless => :condition
部分。
答案 0 :(得分:9)
我假设您一直在Active Model上使用shoulda matchers来测试此类验证。
在这种情况下,你可以在你应该“断言”之前使用“subject”块来控制你测试验证的实例:(对于:除非情况)
context "testing validations" do
subject do
#Create object satisfying :condition
end
should_not validate_presence_of :first name
end
以及上述的对象案例。
答案 1 :(得分:3)
通过创建满足或不满足条件的对象并查看它们是否有效/无效。