rspec 集成测试中的会话对象

2024-01-24

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

他们是在请求规范中创建会话对象的一种方法吗?

我有一个视图页面,在其中使用会话对象来检查其值以显示选择性内容。

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

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

在我的请求规范中

session[:role] = "Role"
visit my_path

但它向我抛出一个错误“nil:NilClass 的未定义方法‘session’”。

我还尝试研究创建水豚的会话对象。但找不到任何东西。

他们有解决办法吗?我找不到与此相关的任何内容,似乎这是不可能的。非常感谢您的一点帮助。


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

除了手动设置会话 cookie 之外,我不知道还有什么其他方法。Capybara.current_session.driver.browser.set_cookie让我们这样做,但您必须手动创建 cookie 值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

rspec 集成测试中的会话对象 的相关文章

随机推荐

  • 检测点是否在 SVG 路径内

    我正在尝试检测给定点是否位于 Objective C 中的闭合 SVG 路径内 我不知道如何做数学 我有一个路径的坐标 我想确定一个随机点是在路径内部还是外部 这是路径坐标的示例 M673 460 c2 0 4 1 5 2 1 1 2 2
  • Objective-C 中的全局变量 - extern 和 .m 文件顶部声明的差异

    我知道你可以使用 extern 在 Objective C 中定义一个全局变量 但我刚刚意识到我在第一个方法之前在 m 文件顶部声明的变量也意外地是全局的 这导致了一些问题 问题 我将它们移至头文件的 interface 部分 我认为这正确
  • SVN 错误:预期的 fs 格式介于“1”和“3”之间;找到格式“4”

    这就是我所做的 我已经安装了 svnserve 作为服务 并使用以下命令启动它网络启动svn服务命令 我输入了svn ls svn localhost测试该服务 但它返回了本文标题中所述的错误 我进入了svn 版本 and svnserve
  • 将一个对象属性值传输到另一个对象

    首先 我知道自动映射器 而且我不想使用它 因为我正在学习C 我想深入了解它 所以我正在尝试自己解决这个问题 如下所述 但是 我正在尝试创建一个属性复制器 以将一种类型的属性值复制到另一种类型 前提是该属性具有相同的名称和类型 并且可以从源读
  • 为什么 git 会重复添加和删除 Storyboard 部分?

    当保存故事板并将更改提交到 git 时 整个过程很可能会发生变化
  • 如何快速过滤字典并将结果输出到 CollectionViewController 中

    我正在制作一个显示口袋妖怪及其类型的应用程序 该应用程序的一部分也会显示出它们的弱点 我有一个列出所有神奇宝贝的全局变量 如下所示 var objects id 001 typeTwo Poison name Bulbasaur type
  • 对 Maybe a 进行约束,其中 Eq a

    我如何约束 Maybe a where Eq a 它必须是种类 gt 约束 我尝试过的 class a Maybe b Eq b gt K a where instance a Maybe b Eq b gt K a where Error
  • Rust 单元测试后清理的好方法是什么?

    由于测试函数会在失败时中止 因此不能简单地在被测试函数结束时进行清理 在其他语言的测试框架中 通常有一种方法可以设置一个回调来处理每个测试函数末尾的清理工作 由于测试函数会在失败时中止 因此不能简单地在被测试函数结束时进行清理 使用 RAI
  • 如何使控件正确绘制/刷新

    我有一个源自支票簿的控件 我将其称为 SettingBooleanButton 但是当将任何窗口或对话框拖动到该控件上时 该控件会保留拖动的迹象 下图显示了将应用程序窗口拖动到控件上方的效果 这是我的 OnPaint 代码块 Public
  • Famo.us IframeSurface

    我尝试在表面内实现 iframe globals define define function require exports module use strict import dependencies var Engine require
  • .NET REGEX 匹配匹配空字符串

    我有这个 pattern 0 9 0 9 Target X 113 3413475 Y 18 2054775 我想匹配数字 它与测试软件中的查找相匹配 例如http regexpal com http regexpal com 和正则表达式
  • PostgreSQL 查询约束中允许的值列表?

    给定一个名为的 PostgreSQL 表requests有一列名为status和这样的约束 ALTER TABLE requests ADD CONSTRAINT allowed status types CHECK status IN p
  • 最佳方法:访问控制允许来源多源域

    这个问题之前已经在这里被问过 并给出了一系列很好的答案 主要是 访问控制允许来源多源域 https stackoverflow com questions 1653308 access control allow origin multip
  • .htaccess 如果 url 不以扩展名结尾,则在末尾添加斜杠

    我刚刚开始学习正则表达式 但我无法弄清楚这一点 如果 URL 不包含扩展名 我需要在 URL 末尾强制添加斜杠 更清楚地说 example com test stays the same example com test php stays
  • 如何以及在哪里通过 macOS 基于 Python 的应用程序上的本机 GUI 最好地检索 sudo 密码 - (同时维护交互式输出流 (stdout))

    好的 情况是这样的 我正在使用 Python 和 wx wxphoenix 构建 macOS GUI 应用程序 用户可以使用 GUI 例如 script1 启动文件删除过程 包含在script2 为了顺利运行script2需要以 sudo
  • Ruby 字符串剥离定义的字符

    在Python中 我们可以使用 strip https docs python org library stdtypes html str strip字符串的方法 用于删除所选字符的前导或尾随出现 gt gt gt print Remove
  • 如何在 VS 项目中禁用 clang-cl 特定警告

    我使用一个第三方项目 它会产生大量警告 我在 VS 项目属性中禁用了所有这些 有时 我会切换到LLVM clang cl用于检查 clang 警告的工具集 第 3 方项目使用 clang cl 产生如此多的警告 以至于 VS 的输出量令人窒
  • 分析多进程 Python 脚本时出现神秘的 pickle 错误 [重复]

    这个问题在这里已经有答案了 我正在使用multiprocessing模块 我正在使用UpdateMessage对象 我自己的类 通过发送multiprocessing Queue对象 用于进程之间的通信 这是课程 class UpdateM
  • JBoss Netty 与 JSON

    我希望我的 Ajax 代码能够通过 Netty 连接服务器 为此 我需要在服务器端 Netty 处理程序中使用 JSON 解码器和编码器 是否有任何开箱即用的实现 或者我应该编写自己的实现 Thanks Gil 据我所知 没有内置的 JSO
  • rspec 集成测试中的会话对象

    我正在使用 rspec 和 capybara 进行集成测试 他们是在请求规范中创建会话对象的一种方法吗 我有一个视图页面 在其中使用会话对象来检查其值以显示选择性内容 我面临的问题是我无法在请求规范中创建会话对象 这是视图的示例 conte