Rails 4 Rspec 在规范中分配时的测试会话
Rails 4 Rspec test session when assigned in spec
在我的测试中,我将会话分配给特定值,但是当我 运行 从我的应用程序控制器进行测试和打印时,会话为零。知道我该怎么做吗?
这是我的规格:
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
谢谢你的帮助。
我找到了 2 个答案,可能会帮助那些尝试在类型中使用会话的人::view :
- 您可以使用 gem:rack_session_access
- 您别无选择,只能重现所有需要的步骤来获得您需要的会话
在我的测试中,我将会话分配给特定值,但是当我 运行 从我的应用程序控制器进行测试和打印时,会话为零。知道我该怎么做吗?
这是我的规格:
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
谢谢你的帮助。
我找到了 2 个答案,可能会帮助那些尝试在类型中使用会话的人::view :
- 您可以使用 gem:rack_session_access
- 您别无选择,只能重现所有需要的步骤来获得您需要的会话