rspec Rails 测试:如何强制 ActiveJob 作业内联运行某些测试?

2024-06-28

我希望我的后台作业能够内联运行某些标记的测试。我可以通过包装测试来做到这一点perform_enqueued do但我希望能够用元数据标记它们,并且如果可能的话,它会自动发生。

我尝试过以下方法:

it "does everything in the job too", perform_enqueued: true do
end

config.around(:each) do |example|
  if example.metadata[:perform_enqueued]
    perform_enqueued_jobs do
      example.run
    end
  end
end

但这会导致错误:

undefined method `perform_enqueued_jobs=' for ActiveJob::QueueAdapters::InlineAdapter:Class

您需要将测试适配器设置为ActiveJob::QueueAdapters::TestAdapter它响应.perform_enqueued_jobs =。您可以在您的spec/rails_helper.rb file:

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

rspec Rails 测试:如何强制 ActiveJob 作业内联运行某些测试? 的相关文章

随机推荐

  • 自制序列化与 Java 序列化

    我有一个需要持久保存在数据库上的 POJO 当前设计将其字段指定为单个字符串列 并且无法向表中添加其他字段 这意味着 对象需要以某种方式序列化 因此 对于基本实现 我设计了自己的对象序列化形式 这意味着将其所有字段连接到一个漂亮的字符串中
  • pod 安装后 Xcode 8 swift pod 标头为空

    我正在尝试编译一个用 swift 编写的现有 xcode 项目 该项目使用 Alamofire 我安装了 xcode 8 beta 并打开了项目 Alamofire 有很多错误 我了解到需要更新到版本 3 2 1 我编辑了 Podfile
  • PHP SoapClient 无法处理消息,因为内容类型为“text/xml;”

    我无法连接到网络服务并发送 接收数据 Error HTTP 无法处理消息 因为内容类型为 text xml charset utf 8 不是预期的类型 application soap xml 字符集 utf 8 Code paramete
  • 从 wikidata 网站获取搜索结果,但不从 API 获取

    我正在尝试 wikidata API 但在搜索查询 Jas 39 C Gripen 时遇到一些问题 它会在 wikidata 网站上返回结果 但如果我使用 API 则不会 在 wikidata 网站上 我得到了两个查询的搜索结果 使用API
  • char 的 std::cin 导致无限循环

    我在 switch 之前的 cin 之后使用了 cout 语句来确定我对第二个数字和字符操作有问题 并且由于某种原因我进入了无限循环 我有一种感觉 我在语法上犯了一个小错误 但我不知道它是什么 include
  • 简单的带宽/延迟测试来评估用户体验

    我编写基于网络的应用程序 性能显然是一个关键因素 虽然数据库加载和页面渲染时间是我可以控制的 但用户的互联网连接却无法控制 我正在寻找的是一种指示用户拥有何种类型的连接的方法 类似于网站角落里的红绿灯 向用户显示他们与网站的连接类型 从而表
  • FancyBox 调整宽度

    我可以使用以下命令调整高度 fancybox resize 部分 但宽度不会根据新内容更新 想法 来自fancybox API 文档 http fancybox net api fancybox resize 自动调整 FancyBox 的
  • 从 http.get() 加载的 JSON 数据在我的 Angular 2 模板中未定义

    我正在尝试读取本地 json 文件并将其解析为我制作的具有相同属性的类 当我尝试从类中读取时 它给出错误 指出该类为 null 或未定义 我有一个文件hall ts看起来像这样 import Item from item item expo
  • 如何在不安装material-ui的情况下安装Material-UI Docs?

    目前要在本地安装和运行 Material ui 文档 需要两个npm install 一个在material ui 中 另一个在material ui docs 中 cd
  • 将arm_compute::Image 转换为cv::Mat

    我有很多基于 open cv 的代码 但是 Arm 计算库可以通过多种方式提高性能 因此我想将一些 arm 计算库代码集成到我的项目中 有没有人尝试过在两个相应的图像结构之间进行转换 如果是这样 你做了什么 或者有没有一种方法可以共享指向底
  • 如何在Spring DataSourceTransactionManager管理的每个事务中执行自定义sql代码?

    考虑一下这样的情况 我们有大量由 Spring 管理的 java DAO 类 这些 bean 中定义的每个方法都在 Spring 的数据源事务中执行 SQL 代码 由方法上的注释定义 现在我们需要在上述方法的目标执行之前运行一些自定义代码
  • Python将一个变量内的多个列表合并到一个列表中[重复]

    这个问题在这里已经有答案了 我很难将多个列表放入一个列表中 因为它们都在一个变量内 这是一个例子 我拥有的 a 1 3 3 我想要的是 a 1 3 3 如何使用 Python 3 x 解决这个问题 EDIT 这是我正在处理的代码 from
  • 如何退格或删除?

    在 Windows 10 中 当我通过 Windows 上的 Kitematic 中的容器启动 MS PowerShell 进行 ssh 时 我注意到我无法退格或删除 而是得到 H 表示退格 而不是实际删除前一个字符 我错过了什么吗 接受的
  • (键,值)对结构的内存分配,并从注册表中读取

    我想制作一个程序 它从 Windows 注册表中收集一些信息 然后将其保存到文件中 但是我在收集信息时遇到了问题 我想将数组存储在结构中 我的问题是在初始化结构后指定数组的大小 typedef struct RESULTSKEY char
  • 什么时候需要浅拷贝(而不是深拷贝)?

    有人可以举一个需要浅拷贝的情况的例子吗 请注意 在某些情况下 浅复制和深复制是相同的 当对象对其任何子变量没有所有权时 就会发生这种情况 也就是说 所有子变量都是聚合的 http en wikipedia org wiki Object c
  • 级联的反向等效项是什么?

    我正在编写一个小型音乐数据库 我学习 SQL 已经有很长一段时间了 我一直想尝试一下 Django 但有一件事我无法理解 现在 我的模型仅包含两个类 Album and Song Song有一个外键指向它所属的相册 现在如果我删除它Albu
  • 为什么在 VS2008/Casini 中启动调试时 Application_Init 会触发两次?

    为什么在 VS2008 Casini 中启动调试时 Application Init 会触发两次 是的 它发生在 global asax 中 虽然看起来相当随机 但只偶尔发生一次 我假设您引用的是 ASP NET MVC 应用程序中的 Gl
  • 使用 deflater 压缩/解压缩字符串

    我想压缩 解压缩和序列化 反序列化字符串内容 我正在使用以下两个静态函数 Compress data based on the link Deflater param pToCompress input byte array return
  • Compass 和 SASS:没有编译错误

    我现在已经厌倦了这个问题 为了让这件事继续下去 我已经被推迟了很多次 我觉得这是我解决问题的最后一次尝试 开始 我安装指南针 sudo gem update system sudo gem install compass 我创建我的测试项目
  • rspec Rails 测试:如何强制 ActiveJob 作业内联运行某些测试?

    我希望我的后台作业能够内联运行某些标记的测试 我可以通过包装测试来做到这一点perform enqueued do但我希望能够用元数据标记它们 并且如果可能的话 它会自动发生 我尝试过以下方法 it does everything in t