У меня есть небольшое приложение для рельсов, в котором я изначально использовал sqlite3, а затем решил переключиться на mysql. После того, как я переключился, один из моих тестов rspec сломался, но я не могу сказать, почему (он работал нормально при использовании sqlite3, и проверка функциональности через фактическую страницу работает правильно).
Мои тесты следующие:
before(:each) do
@a = FactoryGirl.create(:a)
@b = FactoryGirl.create(:b)
@relationship = @a.connector.build( :b_id => @b)
@relationship.save
end
Тест 1:
it "should have the right b" do
@relationship.b.should == @b
end
Тест 2:
it "should have the right a" do
@relationship.a.should == @a
end
В моих тестах тест 1 терпит неудачу, а тест 2 проходит успешно при использовании mysql (оба пути при использовании sqlite3). Насколько я знаю, я не должен требовать каких-либо изменений в самих тестах, если я просто переключаю базы данных, поэтому может ли кто-нибудь сказать, делаю ли я что-то не так? Или если мне нужно что-то добавить, чтобы обновить базы данных?
В связи с этим, каков рекомендуемый способ отладки проблем в самих тестах rspec, особенно если фактическая разработка работает, но тесты терпят неудачу? (Я использую Rails 3.1 и rspec-rails 2.10.1).
Спасибо заранее за любые данные,
С уважением,