В настоящее время у меня есть следующие тесты, которые выглядят хорошими кандидатами для небольшого СУХОГО лечения:
describe League do
context 'attributes validation' do
before(:each) do
@league = League.new
end
it 'should be invalid without a short_name' do
@league.attributes = valid_league_attributes.except(:short_name)
@league.should_not be_valid
@league.should have(1).error_on(:short_name)
@league.errors[:short_name].should == ["can't be blank"]
@league.short_name = 'NFL'
@league.should be_valid
end
it 'should be invalid without a long_name' do
@league.attributes = valid_league_attributes.except(:long_name)
@league.should_not be_valid
@league.should have(2).error_on(:long_name)
@league.errors[:long_name].should == ["can't be blank", 'is not included in the list']
@league.long_name = 'National Football League'
@league.should be_valid
end
end
end
Можно ли сделать это более СУХИМ, используя Custom Matchers или какую-то другую утилиту?