Имам малко приложение за релси, където първоначално използвах 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).
Благодаря предварително за всяко мнение,
За разбирането,