valid?
我有一些方法与 ActiveRecord 的、invalid?
和errors
;以相同的方式“相关” 。context
以及我想在其中锻炼/演示它们的几个s。
context
很明显,有一个vs方法返回的矩阵。
context
一种常见的模式/实践是将s嵌套在describe '#<method>'
块中,而不是反过来,对吗?我没有为每个方法复制context
a 中的 s,而是describe
为“集合”尝试了一个块。
但是……#errors
比其他的更复杂,更值得关注——所以看起来它确实值得一个describe '#errors'
障碍
describe MyClass do
...
describe '#valid? / #invalid? / #errors' do
context 'all good' do
...
it { should be_valid }
it { should_not be_invalid }
describe '#errors' do
it { should be_an_instance_of( Hash )}
it { should be_empty }
it ...
...
end
end
context 'some bad' do
...
it { should_not be_valid }
it { should be_invalid }
describe '#errors' do
it { should be_an_instance_of( Hash )}
it ...
its ...
...
end
end
end
...
end
随着context
s 的增多,describe '#errors'
andit { should be_an_instance_of( Hash )}
开始感觉重复。
有没有 DRYer 方法可以做到这一点?这是“可接受的”未干燥的吗?
TIA