Как вы тестируете даты в ruby ​​на рельсах 3 с rspec? - PullRequest
2 голосов
/ 09 августа 2011

Скажем, например, у меня есть поле даты или 3 поля выбора для дня месяца и да ..

Как окончательный выбор даты отправляется в базу данных?или в каком формате оно не отправляется?

20110803?

2011-08-03?

Что я хочу сделать:

  1. Проверка на действительную дату (дата, которая была выбрана, которая существует)
  2. Проверка на недопустимую дату (недействительной будет дата, которая не существует, а также, когда ничего не было выбрано)

Я знаю идею о том, как написать эти тесты, но не уверен, что на самом деле отправляется в базу данных Что на самом деле появляется перед сохранением и в каком формате.Строка?Целое число?

Заранее спасибо за ответы.

1 Ответ

4 голосов
/ 09 августа 2011

Получения отправляются в базу данных, так как база данных ожидает этого.Каждая база данных и конфигурация приведут к разному формату даты, но это не будет иметь никакого значения для вас, поскольку поле настроено как Дата , а также будет Дата на 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
...