unitarias tutorial rails pruebas ruby-on-rails ruby rspec shoulda

ruby-on-rails - tutorial - rspec rails



¿Cómo pruebo una respuesta 204 en RSpec en Rails? (2)

Estoy probando la acción de eliminación de mi controlador de recursos de la siguiente manera:

describe ResourceController do context "DELETE destroy" do before :each do delete :destroy, id: @resource.id end it { should respond_with(:no_content) } end end

Espero una respuesta 204 / sin contenido. Sin embargo, esta prueba falla ya que la respuesta devuelta por el servidor es un 406. La respuesta es 204 cuando presiono el controlador directamente desde mi cliente de prueba de reposo.


Esta página muestra cómo probar el código de respuesta.

describe ResourceController do context "DELETE destroy" do it "should respond with a 204" delete :destroy, id: @resource.id response.code.should eql(204) end end end


Han pasado un par de años ...

Solo me gustaría señalar que es posible usar la sintaxis de expect y consultar el código de estado directamente.

describe ResourceController do context "DELETE destroy" do it "should respond with a 204" delete :destroy, id: @resource.id expect(response).to have_http_status(:no_content) end end end