actualmente tengo un proyecto en Ruby on Rails funcionamiento de Ruby 1.8.7 y 2.3.2 Carrilesrieles 2.3.11 DateTime BigDecimal precisión
tengo algunas pruebas unitarias que leen datos desde una base de datos, específicamente una columna de fecha y hora para dos artículos consecutivos que se supone que tienen 24 horas de diferencia. En una prueba estoy estableciendo la fecha y hora para el artículo 2 igual a la del artículo 1.
Cuando hago una afirmación para asegurarme de que los dos valores son iguales, la prueba funciona bien debajo de los carriles 2.3.2. Cuando actualizo a los carriles 2.3.11, las pruebas muestran que es infructuosa la diferencia entre los dos tiempos para estar con el siguiente error:
<Thu, 01 Jan 2009 06:00:00 CST -06:00> expected but was
<Thu, 01 Jan 2009 05:59:59 CST -06:00>.
Parece que hay un problema con las conversiones de punto flotante en la versión de dos de rieles. ¿Cómo puedo explicar el problema del punto flotante?
en su título se dice rieles 2.3.11, pero en su pregunta que decir 2.3.5, que es? –
Gracias por señalar el problema, corregido. –
¿Cuáles son los valores almacenados en la base de datos? Debería poder replicar su prueba en 'RAILS_ENV = script/consola de prueba' y luego inspeccionar los valores DB reales utilizando un shell SQL. ¿También está usando 'DateTime # advance' para ajustar sus valores o algún otro método? – tadman