Estoy usando Ruby on Rails 3.2.2, Rspec 2.9.0 y RspecRails 2.9.0. Me gustaría probar la acción del controlador create
, pero no sé cómo hacerlo de la manera "correcta"/"adecuada". Yo "scaffolded" el modelo, el controlador, la vista, ... archivos, entonces en esos archivos tengo el código común generado por los generadores de Ruby on Rails; en mi archivo de especificaciones que tengo:¿Cuál es la forma correcta de probar "crear" acciones de controlador?
it "assigns @article" do
new_article = FactoryGirl.build(:article)
Article.should_receive(:new).and_return(new_article)
post :create
assigns[:article].should eq(new_article)
end
Tal vez, (nota: el código anterior es casi el mismo que el que utilizo para probar la acción new
controlador) una mejor manera de probar create
acciones del controlador sería pasar algún valor de atributo durante la acción post :create
en lugar de proceder como lo hago por encima de, pero no sé cómo hacer eso y si es la forma "correcta"/"propia" de hacer las cosas.
Entonces, ¿cuál es la forma correcta de probar las acciones de 'crear' del controlador?
Tal vez usted podría decir '... {mensaje: crear,: article => article_params} .a ...' en lugar de '... {mensaje: crear, article_params } .to ... '. – Backo
algo seguro, fijo, ta;) –