检查 RSpec 中的 ActiveRecord 关联

2023-12-21

我正在学习如何使用 Rspec 编写测试用例。我有一个简单的帖子评论支架,其中帖子可以有很多评论。我正在使用 Rspec 对此进行测试。我应该如何检查Post :has_many :comments。我应该存根吗Post.comments方法,然后通过返回注释对象数组的模拟对象来检查这一点?真的需要对 AR 关联进行测试吗?


由于 ActiveRecord 关联应该经过 Rails 测试套件的充分测试(而且确实如此),因此大多数人并不觉得有必要确保它们能够正常工作——只是假设它们会正常工作。

如果您想确保您的模型是using这些关联是不同的,你想要测试它并没有错。我喜欢使用shoulda http://github.com/thoughtbot/shoulda宝石。它可以让你做这样的巧妙的事情:

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

检查 RSpec 中的 ActiveRecord 关联 的相关文章

  • 使用 Capistrano 无法开始延迟的作业

    我无法使用 capistrano 配方启动延迟的作业流程 这是我收到的错误 usr local lib ruby gems 1 9 1 gems delayed job 2 1 1 lib delayed command rb 62 in
  • 如何使用多个 { 'not find' } 来干燥方法?

    我正在尝试优雅地处理以下错误的 JSON 其中Hash fetch似乎不是一个选择 使用 Hash fetch 优雅地处理错误的 JSON https stackoverflow com questions 25193627 handle
  • 将 gmaps4rails 与 https/SSL 结合使用

    我是 gmaps4rails 的忠实粉丝 它使向我们的网络应用程序添加地图变得非常容易 我现在遇到的唯一问题是 如果您在 https 页面上使用它 则会收到有关混合内容的安全警告 谷歌地图API确实支持https 所以我认为这只是将脚本引用
  • Rails:如何重新启动 sidekiq?

    我正在使用 sidekiq gem 在后台运行 API 调用 我在守护进程中运行 sidekiq 如下所示 bundle exec sidekiq d 现在我对我的方法做了一些更改 所以我想重新启动 sidekiq 我尝试使用以下命令杀死
  • 如何在自定义类上使用 ActiveModel 验证和回调?

    我正在尝试在自定义类上使用 ActiveModel 验证和回调 class TestClass include ActiveModel Validations define model callbacks validate attr acc
  • Backbone.js 应用程序可以逐步增强并可供搜索引擎抓取吗?

    我需要为我的下一个项目实现一个 MVC JavaScript 框架 但它既是一个网站 又是一个 Web 应用程序 是否可以公开数据服务器端 然后解析 URL 以显示 JS 版本 我计划使用 Rails 作为服务器端代码 我写了一个关于这个主
  • Heroku 上的“PG::错误 - 数字字段溢出”

    我构建了一个应用程序来查询 Google Analytics 的过去 7 天的数据 一切都在本地进行 在 Heroku 上 该过程运行顺利 直到它尝试获取今天日期的数据 然后我收到以下错误 2012 10 29T02 32 02 00 00
  • 更改 Rails 中的默认错误消息

    我们的客户决定 他们希望整个应用程序中所有空白 AR 错误消息从 不能为空 更改为 必须完成 Rails 最简单的方法是什么 Use config locales en yml 具体来说 将以下内容放入该文件中 en activerecor
  • CakePHP 控制器测试:模拟 Auth 组件

    情况 控制器代码
  • 运行连接到 Django 测试数据库的 Celery Worker

    背景 我正在开发一个项目 该项目使用 Celery 来安排将在未来某个时间运行的任务 这些任务推动最终状态机的状态向前发展 这是一个例子 未来的提醒计划在 2 天内发送给用户 当该计划任务运行时 会发送一封电子邮件 并且 FSM 会前进到下
  • Rails 销毁除最新的 n 条记录之外的所有记录

    如何使用 Rails 的 ActiveRecord 销毁除最新的 n 条记录之外的所有记录 我可以使用 order 和 limit 获取最新的 n 条记录 但如何销毁逆函数 这些方法中的任何一个都可以做到这一点 Fetch your lat
  • RSpec 与 Shoulda?

    我是单元测试场景的新手 我现在只使用单元测试大约两个月了 当我在 Ruby 中进行单元测试时 我目前遵循 TDD 风格并使用 Test Unit TestCase 我还阅读了 RSpec 以及它如何遵循 BDD 方法 我还读过关于 Shou
  • 将 ERB 与 Handlebars 模板结合使用

    我有一个使用 ajax 创建新标签的模式 它使用 Tags 参数执行 POST 方法 而无需重新充电视图 因此 我希望根据所选的 price type 参数来呈现一个或另一个价格 div 我使用 Handlebars 所以我想这不是 rub
  • Rube.exe:Babun 中没有这样的文件或目录

    我正在尝试在 Babun 中安装 ruby gems 以便我可以安装 sass 和 compass 但不断收到错误 C RailsInstaller Ruby2 1 0 bin ruby exe No such file or direct
  • 不使用 RVM 时的 Cron +

    我使用的是RVM环境 RUby 版本 2 1 2 导轨 4 1 1 schedule rb every 1 minute do runner note send mail end I used whenever update crontab
  • 如何停止 Heroku 服务器?

    我有一个托管在 heroku 上的临时服务器 我只想将其关闭 但不想破坏该应用程序 我该怎么做 我是否有类似 heroku stop 之类的命令 例如 heroku restart 来重新启动 OR 有没有办法让服务器在超过 750 小时免
  • Ruby Time.parse 给我超出范围的错误

    我正在使用 Time parse 从字符串创建 Time 对象 因为某些原因 Time parse 05 14 2009 19 00 导致参数超出范围错误 而 Time parse 05 07 2009 19 00 does not 有任何
  • Rails 复选框不起作用 - 提交表单时没有错误

    我在 Rails 中的复选框遇到问题 我有两个模型 User 和authorized users 具有以下关联 class AuthorizedUser lt ActiveRecord Base has one user as gt use
  • Rails 3.1 中的嵌套表单

    我在嵌套表单方面遇到问题 rails 3 1 在应该渲染 fields for 块时不渲染 fields for 块 例如 在编辑现有记录时 由于我对自己的英语不够自信 我制作了一个小示例应用程序 新行动 def new manga Man
  • Rails:统计用户未读通知的数量

    我目前有一个处理用户活动通知系统的活动模型 当发生某些操作 例如创建新文章 时 活动观察者会创建一个新活动 现在我想记录当前用户尚未看到的这些活动通知中有多少 类似于 facebook 上的通知宝石 每次用户单击通知链接时 数字应重置为 0

随机推荐

  • 互操作性(Interoperability)如何影响着机器学习的发展?

    互操作性 Interoperability 也称为互用性 即两个系统之间有效沟通的能力 是机器学习未来发展中的关键因素 对于银行业 医疗和其他生活服务行业 我们期望那些用于信息交换的平台可以在我们需要时无缝沟通 我们每个人都有成千上万个数据
  • winsockhc.dll文件缺少导致程序无法运行问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个winsock
  • SpringBoot代码混淆与反混淆加密工具详解

    目录 反编译 混淆 正文 一共就两步 无需源码 直接对ipa文件进行混淆加密 打开要处理的IPA文件 设置签名使用的证书和描述文件 开始ios ipa重签名 简单就是把代码跑一哈 然后我们的代码 java文件 就被编译成了 class 文件
  • 38条Web测试经验分享

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读1 9k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 详解数据科学自动化与机器学习自动化

    过去十年里 人工智能 AI 构建自动化发展迅速并取得了多项成就 在关于AI未来的讨论中 您可能会经常听到人们交替使用数据科学自动化与机器学习自动化这两个术语 事实上 这些术语有着不同的定义 如今的自动化机器学习 即 AutoML 特指模型构
  • winrssrv.dll文件缺少导致程序无法启动问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个winrssr
  • RPA机器人助力义务教育招生随机派位系统

    作为一名教育行业从业者 我深切地感受到招生工作中的繁琐和低效 每年招生季 我们需要处理大量的报名信息 进行筛选和录取工作 然而 由于人力资源有限 往往会出现疏漏和错误 给招生工作带来了不小的困扰 幸运的是 我们发现了八爪鱼RPA这一强大的工
  • 浏览器原理篇—渲染原理

    目录导航 为什么要学习浏览器的渲染原理 浏览器的渲染流程 浏览器的渲染阻塞 浏览器的渲染优化 为什么要学习浏览器的渲染原理 知识深度挖掘 帮助更好地理解前端性能优化 从而对实现效果进行针对性优化 如 回流和重绘 渲染机制 帮助更好地理解浏览
  • Hibernate 标准:使用 group by 子句投影计数

    我想执行以下SQL select count as myCount from user group by name 我提出了以下相同的标准 DetachedCriteria ForClass typeof UserDTO setProjec
  • 无法在棒棒糖之前的设备上获取提供程序 com.google.firebase.perf.provider.FirebasePerfProvider

    在 v21 之前的所有版本 即 16 19 上 我的应用程序在启动时崩溃 因为出现以下错误 E AndroidRuntime FATAL EXCEPTION main java lang RuntimeException Unable to
  • webpackJsonp 未使用 karma-webpack 定义?

    我正在使用 webpack 构建一个样板 并使用 mocha 构建 karma 这是我用于 karma webpack 的配置 我是 webpack 的新手 var path require path var webpack require
  • 在Mongo中有什么方法可以像原子操作一样进行检查和设置?

    Mongo中有什么方法可以像原子操作一样进行检查和设置吗 我正在预订酒店 如果有空闲房间 您可以预订 但如果两个或更多人想同时预订怎么办 Mongo中有没有类似事务的东西或者有什么方法可以解决这个问题 是的 这是 MongoDB 的经典用例
  • 为什么 OpenFileDialog 会更改我的工作目录?

    为什么 OpenFileDialog 会更改我的工作目录 我应该假设 System Windows Forms 中的许多函数会更改我的工作目录吗 OpenFileDialog open new OpenFileDialog open Fil
  • R for 循环 ifelse 跳到下一次迭代

    假设你有一个像这样的 for 循环 for n in 1 5 if n 3 skip 3rd iteration and go to next iteration cat n 如果满足特定条件 如何跳到下一次迭代 for n in 1 5
  • 获取 LinkedIn 个人资料图片

    有没有一种简单的方法来获取用户的 LinkedIn 个人资料照片 理想情况下类似于您使用 Facebook 的方式 http graph facebook com userid picture http graph facebook com
  • 将对象转换为 Angular 中的 json

    我正在尝试将对象转换为 json 在我的updateDetails方法但是我得到了undefined in console log转换后为json 这是怎么回事 我的鳕鱼是 HTML
  • 根据最近的先前日期匹配两个表之间的值的最有效方法是什么?

    我在 MS SQL Server 中有两个表 dailyt 其中包含每日数据 date val 2014 05 22 10 2014 05 21 9 5 2014 05 20 9 2014 05 19 8 2014 05 18 7 5 et
  • 如何从翻译的 .po 文件生成新的 .pot 模板

    从不完整的 gettext 开始 pot文件 结果 po翻译文件现在包含大量原本不在文件中的翻译字符串 pot file 我怎样才能向后生成 pot来自已翻译的其他语言的文件 带有空白翻译条目的字符串 po file 感谢您的帮助 你可以使
  • 如何最好地存储聊天机器人的数据?

    我在网上寻找chatbots 这只是有趣 但现在 我非常喜欢这个主题 所以我想开发自己的聊天机器人 但第一件事是寻找一种好方法来管理我的聊天机器人的 大脑 我认为将所有内容保存在 XML 文件中是最好的解决方案 不是吗 这样文件类型就清楚了
  • 检查 RSpec 中的 ActiveRecord 关联

    我正在学习如何使用 Rspec 编写测试用例 我有一个简单的帖子评论支架 其中帖子可以有很多评论 我正在使用 Rspec 对此进行测试 我应该如何检查Post has many comments 我应该存根吗Post comments方法