En Sinatra, podría probar some_object.class.name == "Hash". Ahora, después de un envío, tengo que probarlo, más == "ActiveSupport :: HashWithIndifferentAccess", para que mi código funcione. ¿Por qué es eso, y tengo que actualizar todos los lugares donde ocurre esa comparación, o hay una manera más fácil? graciasPrueba de rieles para tipo hash
6
A
Respuesta
15
A partir de los documentos de ActiveSupport::HashWithIndifferentAccess:
Esta clase tiene la semántica dudosos y sólo tenemos para que la gente puede escribir params [: clave] en lugar de params [ 'clave'] y obtener el mismo valor para ambas teclas.
Por lo tanto, es una clase que hereda de Hash para permitirle pasar un símbolo o una cadena como la clave y devolver el mismo valor para cualquiera.
Para solucionar (y limpiar) las pruebas, usted podría utilizar el siguiente:
some_object.is_a? Hash
Esto devolverá cierto si se trata de un hash o un descendiente de Hash.
Cuestiones relacionadas
- 1. Rieles: agregue hash para redirigir a
- 2. Rieles - Constantes Hash?
- 3. rieles de prueba funcional
- 4. GPU- Función hash de "prueba"
- 5. Rieles: opuesto a Hash # to_param
- 6. rieles rspec burlones sesión de hash
- 7. reconociendo "tipo" de claves hash
- 8. ¿Hay algún complemento de prueba de seguridad para los rieles?
- 9. de prueba contenidos de hash utilizando RSpec
- 10. Rieles: rake db: prueba: preparar Vs prueba de rastrillo: Preparar
- 11. prueba de attachment_fu en rieles 3
- 12. ¿Qué tipo de hash usa WordPress?
- 13. Rieles: Quitar elemento de la gama de valores hash
- 14. Guardar un HASH a Redis en una aplicación de rieles
- 15. prueba de AS3 para el tipo de clase
- 16. Rieles: cuestiones de tipo MIME con .m4v
- 17. rieles Prevenir la prueba de eliminación de datos de semillas
- 18. Pasar múltiples parámetros tipo hash en url
- 19. Suspensión de prueba de rieles: ¿cómo puedo imprimir el nombre de prueba antes de la ejecución?
- 20. Accesorios de la caja de prueba de rieles no cargando
- 21. Prueba de integración de rieles con la gema del ingenio
- 22. Prueba de tipo simple en F #
- 23. ¿Qué prueba de igualdad utiliza Ruby's Hash al comparar claves?
- 24. Rieles: Representación XML añade <hash> etiqueta
- 25. ¿Cómo se prueba el hash de params en una prueba de Rails?
- 26. ejecución de unidad de rieles individuales/prueba funcional
- 27. prueba de unidad en rieles - modelo con clip
- 28. migraciones Correr contra el entorno de prueba rieles
- 29. rieles RSpec enrutamiento: Prueba de acciones en: excepto que no
- 30. rieles de prueba funcional: cómo probar administración :: PostsController
funciona muy bien, gracias! – dt1000