2011-08-09 70 views
2

說例如我有一個日期月份或3個選擇字段爲日期月和年..如何在rspec的rails 3上測試ruby的日期?

如何將最終選擇的日期發送到數據庫?或以何種格式發送?

20110803?

2011-08-03?

我想要做的是:

  1. 檢驗有效日期(即存在已選定的日期)
  2. 試驗無效日期(無效的將是沒有日期存在,當選擇什麼也可以)

我知道如何編寫這些測試的想法,但不知道什麼是真正被髮送到數據庫 什麼實際出現之前保存和以什麼格式。串?整數?

在此先感謝您的回覆。

回答

4

獲取發送到數據庫的數據庫預計它。每個數據庫和配置將產生一個日期不同的格式,但這不會有任何區別,因爲該字段被配置爲日期,它也將是一個日期在Rails上,所以你不應該關心格式。

測試時,可以使用多種方法進行驗證,但不會使用整數或字符串,而是使用Date對象。以下是如何編寫第一個示例:

it 'should find a model today' do 
    @date = Date.today 
    @model = Model.create!(:date => @date) 
    Model.first(:conditions => {:date => @date}).should == @model 
end