模拟 Rails.env.development?使用 rspec

2024-04-15

我正在使用 rspec 编写单元测试。

我想模拟 Rails.env.development?返回 true。我怎样才能做到这一点?

我试过这个

Rails.env.stub(:development?, nil).and_return(true)

它抛出这个错误

activesupport-4.0.0/lib/active_support/string_inquirer.rb:22:in `method_missing': undefined method `any_instance' for "test":ActiveSupport::StringInquirer (NoMethodError)

更新 红宝石版本 ruby​​-2.0.0-p353, 导轨 4.0.0, 规范2.11

describe "welcome_signup" do
    let(:mail) { Notifier.welcome_signup user }

    describe "in dev mode" do
      Rails.env.stub(:development?, nil).and_return(true)
      let(:mail) { Notifier.welcome_signup user }
      it "send an email to" do
        expect(mail.to).to eq([GlobalConstants::DEV_EMAIL_ADDRESS])
      end
    end
  end

这里描述了一种更好的方法:https://stackoverflow.com/a/24052647/362378 https://stackoverflow.com/a/24052647/362378

it "should do something specific for production" do 
  allow(Rails).to receive(:env) { "production".inquiry }
  #other assertions
end

这将提供所有功能,例如Rails.env.test?如果您只是比较字符串,也可以使用Rails.env == 'production'

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

模拟 Rails.env.development?使用 rspec 的相关文章

  • Rspec 不删除 2 个特定表

    我正在使用 Rspec 来测试 Rails 应用程序 我有 2 个导入数据的表 测试数据库和开发数据库 整个应用程序依赖于表数据 这意味着整个功能是匹配 计算和测量该表中的数据并将其放入其他表中 因此 在测试时 删除这些表的数据是没有意义的
  • Rake / Rspec:如何使用 --pattern 抑制/安静/静音显示命令的第一条输出行?

    Problem 如果我跑ServerSpec 基于RSpec 通过Rake使用以下命令之一 rake rake spec rake spec all rake spec
  • 如何重置对模拟类方法的期望?

    抱歉 如果这很简单 我对 ruby 和 rspec 都是新手 似乎 rspec 是一个非常 晦涩 的世界 特别是来自 net 背景时 在我的 规范 中 我有 before each do expect File to receive exi
  • Rails 5 - 找不到生成器“rspec:安装”

    在我的 Rails 5 0 0 应用程序中 我已将以下内容添加到我的 Gemfile 中 group development test do gem byebug platform mri gem rspec rails gt 3 5 gt
  • RSpec 和 ActiveModel

    我有一个模块 它包含 activemodel 我想使用 rspec 测试它 这是我到目前为止的设置 lib my module base rb my module rb spec my module spec rb spec helper
  • Rspec 捆绑包在 TextMate 和 rvm 中损坏

    自从我开始使用rvm以来 我经历了一段困难时期 我已经完成了所有 rvm textmate 设置并拥有最新的捆绑包 但是我仍然无法从 textmate 运行 Rspec 测试 我有最新的捆绑包github com rspec rspec t
  • 在 Ruby On Rails 上学习 BDD 的途径是什么?

    我想在 Ruby On Rails 上启动 BDD 我应该学习什么 我对 BDD RSpec 或 Cucumber 一无所知 最好的学习方式是什么 教程 涵盖 我应该测试什么行为 之类的内容 ETC thanks RSpec 特定 我保留这
  • 不兼容的库版本:nokogiri.bundle 需要版本 11.0.0 或更高版本,但 libxml2.2.dylib

    当我尝试在 Hartl 的教程中运行 rspec 时 出现此错误 我用谷歌搜索了该错误 但它从来都不是针对特定版本的 而且修复程序实际上并不能解决我的问题 Users Jimbo rvm gems ruby 2 0 0 p247 gems
  • 将标头附加到 Rspec 控制器测试

    我正在尝试为我的控制器编写测试 该控制器接收来自外部服务的请求 到目前为止 这是我的测试 describe ApplyController do context when valid do let parameters do file Fi
  • 如何从 Rails 中的 RSpec 测试调用应用程序帮助器方法?

    标题是不言自明的 我尝试过的一切都导致了 未定义的方法 澄清一下 我并不是想测试辅助方法 我正在尝试在集成测试中使用辅助方法 您只需在测试中包含相关的帮助程序模块即可使方法可用 describe foo do include ActionV
  • rspec 中的相关测试

    我编写功能测试 并且我需要进行的测试取决于之前测试的通过情况 假设我有一个按钮 可以打开一个窗口 其中有一个功能 也就是说 为了检查此功能 我需要首先检查按钮的正确操作 即打开窗口或不起作用 因此 我需要这样做 如果单击按钮时测试失败 则测
  • 页面内容中 html 实体的 Rspec 测试

    我正在编写一个请求规范 并想测试字符串 Reports Aging Reports 是否存在 如果我直接将字符放入匹配器表达式中 我会收到错误 无效的多字节字符 所以我尝试了以下操作 page should have content Rep
  • 如何使用 RSpec 测试 Rails 中的包含验证

    我的 ActiveRecord 中有以下验证 validates active inclusion gt in gt Y N 我正在使用以下内容来测试我的模型验证 should not allow value A for active sh
  • 如何找到哪个 rspec 测试花费了这么长时间

    我们的一个 或几个 测试花费了很长时间 我们希望对其进行优化 我们已经进行了 1000 次测试 因此对我来说运行每个文件是不切实际的 有没有一种简单的方法可以找到慢的 这是 rspec 1 3 在 RSpec 2 和 3 中 您可以使用 p
  • NoMethodError:未定义的方法“调用”

    运行以下测试套件时 require spec helper describe User do before user User name Example User email email protected cdn cgi l email
  • Ruby + Rspec:我应该如何测试 attr_accessor?

    我有一个ReturnItem class specs require spec helper describe ReturnItem do is this enough it should respond to chosen it shou
  • 为铁路中的自引用关联建立工厂

    我有一个典型的要求 我必须按如下方式处理用户对象 user referrer and user referrers 基本上 用户可以推荐多个人 并且一个人应该由一位特定用户推荐 所以我按如下方式建立关联 他们工作得很好 class User
  • 如何在 Rails rspec 中测试 cookie 过期时间

    在 rspec 中设置 cookie 有很多困惑http relishapp com rspec rspec rails v 2 6 dir controller specs file cookies http relishapp com
  • 使用rSpec 测试delayed_job 链的最佳方法是什么?

    目前 当我的代码中有一个延迟方法时 如下所示 CommentMailer delay deliver comments comment true 我在规范中写了这样的内容 dj mock DelayProxy CommentMailer s
  • RSpec 无法从 Factorygirl 中找到工厂

    我将在 Rails3 项目中将 RSpec 与 Factory Girl 一起使用 我已经安装了 Factory Girl 但它找不到工厂我有这个错误 Failure Error Factory build user should be v

随机推荐

  • .net 应用程序挂起。奇怪的崩溃转储

    生产服务器有一个 24x7 运行的应用程序 有时它开始消耗接近 50 的 CPU 我无法在本地重现它 但我用 adplus 做了内存转储 服务器有Windows 2008 Server 64位 NET 3 5 该应用程序侦听 MSMQ 并有
  • Python:将函数作为参数传递,并设置选项

    在Python中 我需要调用许多非常相似的函数相同的输入参数 sampleA and sampleB 唯一的问题是其中一些功能需要option需要设置 有些则没有 例如 import scipy stats scipy stats mann
  • VBA 中的简单递归函数与 Excel 未返回预期结果

    我有一个用 VBA 编写的简单递归函数 它执行以下操作 它必须计算我们必须采用参数 x 的对数来查找 log x 例子 logcount 5 log 5 0 6 所以函数应该返回 1 logcount 89 log 89 1 9 和 log
  • 不同日期的列表

    我有以下代码 List
  • Picasso + RxJava2:方法调用应该从主线程发生

    这是我最初的问题 我试图在其中显示一些图像AutoScrollViewPager 我正在使用毕加索来实现同样的目的 但是 我想使用 Rxjava2 Picasso 做同样的事情 我对 RxJava 概念有点陌生 因此 如果有人可以帮助我提供
  • 无法让 Docker 容器相互通信

    我有两个 Docker 容器 一个运行 React 应用程序 使用 create react app 构建 另一个运行 Node 应用程序 API 我设置了一个 docker compose 文件 并根据文档 https docs dock
  • 每次引发异常时调用钩子函数

    假设我希望每次在程序中的任何位置引发任何异常时都能够记录到文件中 我不想修改任何现有代码 当然 这可以推广到每次引发异常时都能够插入一个钩子 下面的代码做这样的事情被认为是安全的吗 class MyException Exception d
  • D3:细化序数比例以返回颜色组?

    我已经设置了一个序数尺度D3 js https github com mbostock d3 wiki API Reference如下 到目前为止效果很好 var color d3 scale ordinal range blue red
  • 当用户导航到一个域内的其他页面时,谷歌分析如何跟踪事件

    在 Google 的文档中 据说可以通过以下方式跟踪事件 a click me a 或旧版本 a click me a 我正在使用 Firebug 查看单击链接时发出的请求 我看到有中止的请求 http www google analyti
  • 从对象中获取数据

    我正在尝试使用此代码从用户的 Twitter 帐户获取数据 user info twitteroauth gt get account verify credentials 我在一个对象中得到一个很长的值 stdClass Object i
  • java中的子包类可以访问父包类吗?

    在java父包类中可以从子包类访问吗 请给我解释一下吗 例子 包 A A1 A2 包含类 sub 包A包含类sup 有没有办法从 sub 访问 super 请解释一下 我尝试导入它不起作用 例子 在程序目录结构之前 package1 包含
  • 为什么每次保存文件时 vim 都会创建一个新文件?

    我有一个名为test test mypc ls i 4982967 test 然后我使用vim更改其内容并输入 w来保存它 它现在有一个不同的索引节点 test mypc ls i 4982968 test 这意味着它已经是一个不同的文件了
  • 如何使用 LINQ to Entities 包含另一个表中的一个特定行

    我有一个包含这两个表的数据库 Customer and CustomerStatus CustomerStatus是所谓的只读表 对客户状态的所有更改都会导致插入到该表中 当前客户状态可通过以下方式找到CustomerStatus Stat
  • 无法显示 Firebase 存储中的图像

    我正在使用新的 Firebase 存储并上传图像 然后获取下载网址 将下载网址转换为字符串后 我使用它在我的活动中显示 但它只显示下载网址 我使用下面的代码上传图像并获取下载网址 dialogBuilder setTitle Add Sho
  • 容器 div 标签的 100% 高度和宽度不起作用

    我的网页布局如下 以下 CSS 代码在 Internet Explorer 9 中为我提供了 100 的高度和宽度 虽然同样在 FF 和 Chrome 中为我提供了 100 的宽度 但不是 100 的高度 我尝试了几个例子 其中大多数都有相
  • 在 Android 浏览器中获取当前 URL

    我正在寻找一种方法来获取用户在 Android 浏览器应用程序上访问的当前 URL 我发现我可以从以下位置获取上次访问的 URLBrowser BOOKMARKS URI使用以下技术的数据库 Cursor cursor context ge
  • MySQL解释过滤列跳转4100带索引

    我的查询 EXPLAIN EXTENDED SELECT artwork id artwork added FROM artwork ORDER BY artwork added DESC LIMIT 0 6 当我在 添加 上添加索引以避免
  • 通过截断有效地将 OracleDecimal 转换为 .NET 十进制

    当我尝试使用 C 将以下 Oracle 空间对象转换为坐标集 小数 时 出现算术溢出异常 decimal OracleUdt GetValue MDSYS SDO GEOMETRY 2001 1041001 MDSYS SDO POINT
  • 如果搜索文本中的术语被换行符打破,如何使用 RegEx 查找术语

    假设我正在搜索 申请人 正如我之前发生过的事情一样 我收到一个如下的文本文件 We have considered the applica nt s experience and qualification and wish to gran
  • 模拟 Rails.env.development?使用 rspec

    我正在使用 rspec 编写单元测试 我想模拟 Rails env development 返回 true 我怎样才能做到这一点 我试过这个 Rails env stub development nil and return true 它抛