how can I investigate when a rspec test fails?

For example:

it "re-renders the 'new' template" do       # Trigger the behavior that occurs when invalid params are submitted       Sector.any_instance.stub(:save).and_return(false)       post :create, :sector => {}       response.should render_template("new") end

I have the new template under app/views/sectors but the test says:

SectorsController POST create with invalid params re-renders the 'new' template      Failure/Error: response.should render_template("new")      expecting <"new"> but rendering with <"">

Please post the controller action so we can see what's missing.

It sounds like the test is working and that your code is at fault by the looks of it. Do you have a "render"/redirect_to method being called in your 'create' controller action? Where is it going?

I'm using inherited_resources so in my controller I don't have any action defined. The controller is simply:

class SectorsController < InheritedResources::Base

  def destroy     destroy!(:notice => t('Sector')+" deleted.")     rescue       flash[:error] = t('Sector')+" is not deleted."   end end

If I launch the application and I try to create an invalid sector, it renders the new template correctly I have another application and this test:

it "re-renders the 'new' template" do      UnsafeBuilding.stub(:new) { mock_unsafe_building(:save => false) }      post :create, :unsafe_building => {}      response.should render_template("new") end

This works and the controller uses inherited_resources too. I don't understand why the test in the first application doens't work while the one in the second application works.