ruby-on-rails - matchers - ruby on rails test
Prueba de rieles de metal/Rack con RSpec? (3)
Supongamos que tengo una clase de Metal llamada Vista previa. ¿Cómo lo pruebo con RSpec?
Cuando intento:
require ''spec_helper''
describe Preview do
it "should return the posted content" do
post "/preview", :content => "*title*"
response.body.should == "*title*"
end
end
Yo obtengo:
undefined method `post'' for #<ActiveSupport::TestCase::Subclass_1:0x1058b3098>
Parece que RSpec no carga el método :post
si la prueba no es explícitamente para un Controlador. Intenté especificar :type => :controller
inútilmente.
Creo que es mejor probar con rack / test
Hoy en día (rspec-rails 2.2.0 y rails 3) puede lograrlo utilizando Request Specs :
De acuerdo con el archivo Léame :
Solicitar especificaciones en vivo en especificaciones / solicitudes
[...]
Solicitar mezcla de especificaciones en el comportamiento de las pruebas de integración de Rails. Consulte los documentos de ActionDispatch :: Integration :: Runner para obtener más información.
rspec tiene especificaciones de integración que envuelven las pruebas de integración de rieles (que pasan por el rack). Solo ponga esa especificación en ./spec/integration/preview_spec.rb
.