Estoy creando algunas gemas que se pueden usar dentro de los controles y vistas de Rails. Me gustaría poder probar las gemas de forma independiente. Pero no he podido averiguar cómo crear una instancia de Rails dentro de la gema para probar que la gema funcionará dentro de una aplicación de Rails.Probando Ruby Gems en Rails
Yo prefiero usar RSpec, pero probablemente podría adaptar una solución Test :: Unit, o simplemente usar Test :: Unit.
También me interesarían soluciones similares para los complementos de Rails.
(He intentado buscar en Google, pero "rieles prueba joya" me muestra gemas que se utilizan para las pruebas, no la forma de probar una joya. Estoy bastante seguro de que he visto un artículo o 2 sobre este tema.)
Esto fue muy útil; ¡Gracias! ¿Hay alguna manera de mantener cargado ActiveRecord (ala spec_server o spork) para que cargar ActiveRecord y crear la base de datos cada vez no disminuya tanto mis pruebas? – Chinasaur
Estoy seguro de que hay una manera de hacerlo. Si utiliza el almacenamiento de archivos sqlite3, en lugar del almacenamiento de memoria como usa mi complemento de validación en vivo, puede verificar si el archivo de base de datos .sqlite3 existe y no ejecutar las migraciones si lo hace, etc. –
Esto funcionó bastante bien para mí, solo un par notas: 1) Tuve que agregar mi marco de prueba (rspec) y sqlite3 como dependencias de desarrollo en mi gemspec (y por supuesto los rieles como una dependencia de tiempo de ejecución), 2) Necesito 'rails' y 'active_record' en mi asistente de prueba como bien –