Prueba de rieles de metal / rack con RSpec?
-
20-09-2019 - |
Pregunta
Decir que tengo una clase de metal llamado Vista previa. ¿Cómo se prueba 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
Me sale:
undefined method `post' for #<ActiveSupport::TestCase::Subclass_1:0x1058b3098>
Parece que RSpec no se carga el método :post
si la prueba no es explícitamente para un controlador. He intentado especificando :type => :controller
en vano.
Solución
rspec cuenta con especificaciones de integración que las pruebas de integración carriles de envoltura (que van a través de rack). Sólo hay que poner esa especificación en ./spec/integration/preview_spec.rb
.
Otros consejos
Creo que es mejor probar con el estante / de prueba
Hoy en día (rspec-carriles 2.2.0 y los carriles 3) se puede lograr que el uso de Solicitud Especificaciones
De acuerdo con el archivo readme :
Solicitar especificaciones viven en spec / solicitudes
[...]
Solicitar especificaciones de mezcla en el comportamiento de las pruebas de integración Rails. Ver la documentación para ActionDispatch :: :: Integración Runner para más información.