控制器规范中的 RSpec 存根辅助方法

2024-02-19

发现类似的问题,但令人惊讶的是,我发现没有一个给出简单的答案......

尝试在我的控制器规范中存根辅助方法;不太确定哪个对象需要加倍?

控制器调用此方法:

#app/helpers/sessions_helper.rb

def signed_in?
  current_user.present?
end

我想在规范中存根它以返回真/假。


您可以从控制器规范中对其进行存根:

controller.stub!(:signed_in?).and_return(true) # emulate signed in user
controller.stub!(:signed_in?).and_return(false) # emulate unsigned user

对象“控制器”是在控制器规范中预定义的。

UPDATE:

使用 RSpec 3 语法:

allow(controller).to receive(:signed_in?).and_return(true)
allow(controller).to receive(:signed_in?).and_return(false)

感谢@jakeonrails 的提醒。

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

控制器规范中的 RSpec 存根辅助方法 的相关文章

随机推荐

  • Python range() 上的“in”运算符时间复杂度

    我有以下功能 def foo length num return num in range length 这个函数的时间复杂度是多少 注意到range 在Python 3上创建一个Range对象 这个函数的时间复杂度是O 1 还是O N 我
  • wxPython,更改StyledTextCtrl的背景颜色

    我尝试过 但什么也没发生 self txt SetBackgroundColour 255 0 0 正如标题中所述 我正在尝试更改 StyledTextCtrl 的背景颜色 有谁知道可以使用的方法吗 我检查了 API 文档 但似乎找不到 h
  • 如何从 MATLAB 打印出一大堆符号表以形成十字绣图?

    在这个网站上 http www picturecraftwork com 可以从图像创建针迹图表 我正在尝试在 MATLAB 中执行此操作 我已经使用图像处理工具箱实现了所有内容 减少颜色数量 映射到可用纱线颜色的颜色空间 我已经完成了所有
  • DB 记录属性的整数与字符

    假设我有一张包含房地产列表的表格 每个列表都可以是 出售 或 出租 因此 我可以将 出售 映射到 0 将 出租 映射到 1 并将其作为 INT 存储在数据库中 但是 如果我将其存储为 CHAR 类型的字段中的 销售 租赁 则会更具描述性 或
  • 如何在 Python Pandas 中使用循环更改数据帧? [复制]

    这个问题在这里已经有答案了 我有 N 个数据帧 范围从 L1 Ln 我想修改它们以保留与特定条件相关的行 我运行了以下循环 for df in L1 Ln df df ix df Sector Services 然而 当我调出每个数据框时
  • 如何在 Xamarin.Android 中注册我自己的应用程序子类?

    I have public class MyApp Application 在 Java 中 我将在清单中添加一行并向其传递应用程序的命名空间和名称
  • jQuery 只允许一个版本

    我有一个包含 jquery 的第三方脚本 这会导致事情中断 我使用的是 1 6 版本 外部脚本使用的是旧版本 如何强制只加载一个版本的 jquery 并且它是我在页面上的版本而不是外部加载的版本 这实际上很容易做到 使用 jquery no
  • 如何在将多个图像上传到 Firebase 存储时显示进度条?

    我制作了将多个图像上传到存储并将链接保存到文档的功能 但我不知道如何监控进度 const getURLS async gt const promises images images map image gt const storageRef
  • 将阿拉伯文本保存到 MySQL 数据库中

    我有这段阿拉伯文字 当我尝试将其保存在 MySQL 数据库中时 它没有保存 有什么办法可以将其保存为原文吗 确保您的 MySQL 实例和表设置为采用 UTF 8 而不是 latin1 Section 手册9 1 http dev mysql
  • Chrome 中的展开运算符出现意外标记?

    我正在使用以下代码在 Chrome 开发工具中测试某些内容 const one a a b b const two one c c VM417 1 Uncaught SyntaxError Unexpected token 为什么在展开运算
  • Nuxt/pwa更新版本

    我正在使用 nuxt pwa 模块创建一个 pwa 我设法在工作箱的安装事件中检测到服务工作人员的更改 plugins pwa update js export default async context gt const workbox
  • 带有 jQ​​uery Validate 插件的 jQuery UI 工具提示

    我正在尝试使用 jQuery Tooltip 来显 示错误的不同颜色工具提示 我可以使用 tooltipClass 并适当地设置该类的样式来处理静态内容 error tooltip tooltipClass ttError 任何已经具有错误
  • JUnit 5 中的 @TestInstance 注释有什么用?

    你能简单解释一下吗 TestInstance注释以及它在 JUnit 5 中有何用处 我认为我们可以通过以下方式达到相同的效果使我们的领域static I think the docs https junit org junit5 docs
  • android ConstraintLayout Flow:从右到左对齐项目

    我正在使用安卓ConstraintLayout流程 我必须从右到左排列项目 如下所示 XML code
  • 如何从 Android 应用程序显示 360 度全景图

    我想从我的 Android 应用程序显示全景图 该全景图在线 我有它的 url 我将其加载到网络视图上 但它无法正常工作 它只是出现它的一部分 并且不会翻转或上下移动 我不知道从哪里开始 你能给我指出正确的方向吗 先感谢您 经过大量研究后
  • OSGi/Felix声明式服务:如何过滤要绑定的服务?

    我正在使用 Apache Felix 及其声明性服务 SCR 来连接捆绑包之间的服务依赖关系 例如 如果我需要访问 java util Dictionary 我可以说以下内容让 SCR 提供一个 scr reference name pro
  • 在pyspark(2.2.0)中将CSV文件写入AWS时如何分配访问控制列表(ACL)?

    我知道我可以将我的 Spark 数据帧作为 CSV 文件输出到 AWS S3 df repartition 1 write csv s3 my bucket name df name 我的问题是有没有一种简单的方法可以将此文件的访问控制列表
  • 遍历/迭代任意深度的嵌套字典(字典表示目录树)

    在撰写本文时 Python 新手 出现这个问题是因为我希望用户能够从一个目录 以及任何子目录 中选择一组文件 不幸的是 Tkinter 在文件对话框中选择多个文件的默认功能在 Windows 7 上被破坏了 http bugs python
  • 取两个可为空值中的较大者

    假设我有两个可为空的整数 int a 10 int b 20 我想取最大的非空值 这样如果两个值都为空 则结果为空 我可以写一些冗长的东西 例如 int max if a null max b else if b null max a el
  • 控制器规范中的 RSpec 存根辅助方法

    发现类似的问题 但令人惊讶的是 我发现没有一个给出简单的答案 尝试在我的控制器规范中存根辅助方法 不太确定哪个对象需要加倍 控制器调用此方法 app helpers sessions helper rb def signed in curr