2013-08-27 22 views

回答

0

下面是測試ActiveRecord模型驗證的簡短示例。你當然可以深入探索,並且有很多方法可以使測試更加優雅,但這足以進行第一次測試。

describe Person do 

    describe "#name" do 
    specify { Person.new(:name => "Short").should_not be_valid } 
    specify { Person.new(:name => "Long" * 12).should_not be_valid } 
    specify { Person.new(:name => "Just Right").should be_valid } 
    end 

end 
+0

謝謝。但它仍然有一個錯誤消息顯示連接未建立。如果你不介意,你能解釋我如何解決? –

1

如果你不想碰db,FactoryGirl.build_stubbed是你的朋友。

> person = FactoryGirl.build_stubbed :person 
> person.save! 
> #=> person obj 
> Person.all 
> #=> [] # Not saved in db 

因此,測試驗證

it "validates name at length" do 
    person = FactoryGirl.build_stubbed :person, name: "aungaung" 
    expect{person.save!}.to raise_error(ActiveRecord::RecordInvalid) 
end 

注build_stubbed善於模型的單元測試。對於任何與UI相關的東西,你都不能使用這個方法,並且實際上需要保存到數據庫。

+0

謝謝。我無法安裝factory_girl gem。有什麼辦法解決? –