即使使用config.render_views,RSpec response.body仍然是空的

Cou*_*Cet 11 rspec rspec2 ruby-on-rails-3

在我的spec_helper.rb文件中,我专门将它设置为config.render_views但是我回来的response.body仍然是空的.这是我的基本规格

describe  "#index" do
    it "should list all rooms" do
      get 'index'
      stub(Person).all
    end

    it "responds with 200 response code" do
      response.should be_ok
    end

    it "renders the index template" do
      pp response.body
      response.should render_template("people/index")
    end

  end
Run Code Online (Sandbox Code Playgroud)

还有什么可以缩短这种行为吗?我通过浏览器时很好.我在Rspec 2.5.0上

iGb*_*nam 7

你有没有试过render_views你的控制器spec文件?这对我行得通.

我注意到的另一件事是你只在测试用例中访问索引页面 - 第一个是准确的.其余的将返回空的html内容,因为没有响应.

这就是我将如何实现它.但是如果你已经config.render_views在*spec_helper.rb*文件中已经有了它,那么你就可以在没有render_views控制器规范的情况下使用它.

describe MyController
    render_views

    before :each do
        get :index
    end

    describe  "#index" do
        it "should list all rooms" do
            stub(Person).all
        end

        it "responds with 200 response code" do
            response.should be_ok
        end

        it "renders the index template" do
            pp response.body
            response.should render_template("people/index")
        end
    end
end
Run Code Online (Sandbox Code Playgroud)

编辑:这里的细微变化是before我称之为get :index每个it块的blobk .