Rails 2.3.11 DateTime BigDecimal Precision - PullRequest
6 голосов
/ 05 апреля 2011

В настоящее время у меня есть проект в Ruby on Rails, работающий на Ruby 1.8.7 и Rails 2.3.2

У меня есть несколько модульных тестов, которые читают данные из базы данных, в частности столбец даты и времени для двух последовательных элементов, которыедолжны быть 24 часа друг от друга.В одном тесте я устанавливаю дату и время для элемента 2 равные дате и времени пункта 1.

Когда я делаю утверждение, чтобы убедиться, что эти два значения равны, тест отлично работает под рельсами 2.3.2.Когда я обновляю до rails 2.3.11, тесты терпят неудачу, показывая, что разница между этими двумя временами отключается со следующей ошибкой:

<Thu, 01 Jan 2009 06:00:00 CST -06:00> expected but was
<Thu, 01 Jan 2009 05:59:59 CST -06:00>.

Кажется, есть проблема с преобразованиями с плавающей запятой в двухверсия рельсов.Как я могу объяснить проблему с плавающей запятой?

1 Ответ

2 голосов
/ 05 апреля 2011

Это случилось со мной тоже, и я закончил тем, что сделал:

datetime.should be_a(Datetime) # maybe unnecessary
datetime.to_s.should == expected_datetime.to_s
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...