Мы выполняем проект rails 3.2.1 с RSpec 2. Мой вопрос, должен ли я проверять базовую стойкость каждой из моих моделей activerecord? Я делал это в мои дни на C # / NHibernate, чтобы обеспечить наличие правильных таблиц / отображений.
Так что, если у меня есть клиент с полями имени, адреса и телефона, я мог бы написать rspec следующим образом:
describe Customer do
it "saves & retrieves its fields to and from the db"
c = Customer.new
c.name = "Bob Smith"
c.address = "123 some street"
c.phone = "555-555-5555"
or = Order.new
c.orders << or
c.save
found = Customer.find(c.id)
found.should_not be(c)
found.name.should == c.name
found.address.should == c.address
found.phone.should == c.phone
found.orders.count.should == 1
found.orders[0].id.should == or.id
end
end
Это "лучшая практика" или распространена в мире ruby / rails / rspec? Я также должен отметить, что смысл не в том, чтобы проверить, что rails делает изначально, а в том, чтобы проверить, что в БД и моделях установлены правильные поля и отношения.