Estoy usando Sinatra (1.2) y RSpec (2.5) y me gustaría crear un nuevo objeto con un atributo de estilo TDD. Así es como el resultado final debe ser similar:Spec RSpec model attribute setter
class User
def initialize(name)
@name = name
end
end
sé que tengo que escribir el ejemplo antes de la aplicación, pero estoy tratando de explicar mi pregunta aquí. :) Aquí está la especificación de trabajo no tengo hasta ahora:
describe User
it "creates a new user object" do
name = mock("A name")
user = mock(User) # shouldn't do this, see the reply's
user.should_receive(:name=).with(name)
User.new(name)
end
end
Cuando corro RSpec recibo el "esperado: 1 vez, recibido 0 veces" error. ¿Alguna idea de cómo puedo explicar RSpec? Me gustaría asignar el atributo de nombre.
Nota: No estoy usando Rails, no estoy usando ActiveRecord ni nada, solo Ruby.
Para referencia futura: burlarse del objeto de usuario no es una buena idea, mi mal. Gracias a todos por los comentarios. – Cimm