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.

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top