Uso de RSpec 2.6/Rails 3.1/Postgres:Cómo RSpec un módulo ActiveRecord compartido sin tabla de base de datos asociada?
Estoy escribiendo un módulo de soporte (en mi lib /) que puede incluir cualquier modelo de AR. Me gustaría escribir especificaciones para este módulo. Necesita ser incluido por un modelo AR :: Base, porque carga asociaciones cuando se incluye y se basa en algunos métodos AR, pero no quiero usar mi modelo existente al escribir rspec para este módulo.
Me gustaría crear un modelo AR arbitrario, pero obviamente no tendría una tabla asociada en la base de datos y AR está muriendo. Aquí es Kindda lo que quiero hacer:
class SomeRandomModel < ActiveRecord::Base
include MyModule
# simulate DB attributes that MyModule would be using
attr_accessor :foo, :bar, :baz
end
describe SomeRandomModel do
it '#some_method_in_my_module' do
srm = SomeRandomModel.new(:foo => 1)
srm.some_method_in_my_module.should eq(something)
end
end
Por supuesto, me sale un error en postgres sobre la relación no existente.
Gracias por su ayuda!
Esta respuesta debe ser la aceptada. Es la forma correcta de manejar las especificaciones del módulo. –