我想断言(实际上在rspec中)tags
列表中的至少一项是非公开的。
it 'lets you select non-public tags' do
get :new
flag = false
assigns(:tags).each do |tag|
if tag.is_public == false
flag = true
end
end
flag.should eql true
end
有什么更好的惯用方法?
最佳答案
有百万种方法可以做到这一点:
# are any tags not public?
flag = assigns(:tags).any? { |tag| !tag.is_public }
flag.should eql true
要么
# Are none of the tags public?
flag = assigns(:tags).none?(&:is_public)
flag.should eql true
要么
# Find the first non-public tag?
flag = assigns(:tags).find { |tag| !tag.is_public}
flag.should_not eql nil
关于ruby-on-rails - 在测试中断言列表中项目的属性的设计模式是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16742652/