gpt4 book ai didi

ruby-on-rails - rspec 集成测试中的 session 对象

转载 作者:行者123 更新时间:2023-12-04 08:45:41 24 4
gpt4 key购买 nike

我正在使用 rspec 和 capybara 进行集成测试。

他们是在请求规范中制作 session 对象的一种方法吗?

我有一个 View 页面,我在其中使用 session 对象检查其值以显示选择性内容。

面临的问题是我无法在请求规范中创建 session 对象。
这是 View 的示例:

<% if session[:role] == "Role" %>
---content---
<% else %>
--content--
<% end %>

在我的请求规范中
session[:role] = "Role"
visit my_path

但是它给我一个错误“未定义的方法`session' for nil:NilClass”。

我也尝试研究创建 capybara 的 session 对象。但找不到任何东西。

他们有什么解决方法吗?我找不到与此相关的任何内容,似乎不可能。真的很感激一点帮助。

最佳答案

您应该执行请求规范的方式是访问用户通常需要访问的任何 URL,以便设置该 session 变量。

除了手动设置 session cookie 之外,我不知道任何其他方式。 Capybara.current_session.driver.browser.set_cookie让我们这样做,但您必须手动创建 cookie 值。

关于ruby-on-rails - rspec 集成测试中的 session 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8726192/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com