Rails 4在规范中分配的Rspec测试会话

时间:2015-03-02 17:07:32

标签: ruby-on-rails-4 rspec capybara

在我的测试中,我将会话分配给特定值但是当我运行测试并从我的app控制器打印时,会话为零。知道我该怎么办?

这是我的规格:

RSpec.describe "welcome/index.html.haml", type: :view do
  before(:each) do
    session[:followed_repos] = ["rails/rails"]
  end

  context "when visitor tracked repositories" do
    it "should see tracked repository list" do
      visit root_path
      expect(page).to have_no_content("You are tracking 0 repositories. Search for more here")
      expect(page).to render_template(:partial => "_tracked_repo")
    end
  end
end

这是我的控制器,我在其中打印值:

  def index
    puts session[:followed_repos].inspect
  end

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我找到了2个答案,可能有助于人们尝试在类型:: view:

中使用会话
  1. 您可以使用该gem:rack_session_access
  2. 您没有其他选择,然后重现所有必要的步骤以获得您需要的会话