开发 gem 时如何使用“调试器”和“撬动”? (红宝石)

2023-12-03

我正在开发一个 gem,我的 Gemfile 如下所示:

source :rubygems

gemspec

group :development, :test do
  gem "pry"
  gem "debugger"
  gem "rake"
end

但是,我不希望人们必须安装pry and debugger运行测试时,但我也希望能够在我的测试中要求它们(因为我正在运行前缀为bundle exec,如果它们不在 Gemfile 中,我就无法将它们放入我的加载路径中)。我该如何实现这一目标?

另外,何时将我用于开发的 gem 放入 gemspec 中,何时将它们放入 Gemfile 中?我真的不知道有什么区别。


您可以将 gems 添加到 gemspec 作为开发依赖项,如下所示:

Gem::Specification.new do |s|
  # ...
  s.add_development_dependency 'pry'
  s.add_development_dependency 'debugger'
  s.add_development_dependency 'rake'
end

这些只会在处理 gem 时安装,而不是在安装 gem 本身时安装。

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

开发 gem 时如何使用“调试器”和“撬动”? (红宝石) 的相关文章

  • 在私有控制器方法中返回redirect_to

    前言 我正在使用设备进行身份验证 我试图阻止未经授权的用户查看 编辑或更新其他用户的信息 我最关心的是用户将 DOM 中的表单修改为另一个用户的 ID 填写表单 然后单击更新 我已经专门阅读过 像下面这样的东西应该有效 但事实并非如此 SO
  • Rails:CSRF 令牌不工作但已设置

    我在 Heroku 上有我的 Rails 3 应用程序 当我发送银行信息时 我得到 WARNING Can t verify CSRF token authenticity但我的 CSRF 令牌已设置 https gist github c
  • 通过推送通知唤醒

    Suppose 有一些对象 例如 一个数组a 和依赖于对象的条件 例如 a empty 当前线程以外的某些线程可以操作该对象 a 因此条件评估值的真实性会随着时间的推移而变化 如何让当前线程在代码中的某个时刻休眠 并在条件满足时通过推送通知
  • 为什么“捆绑”会在我的开发机器上安装生产 gem?

    Gemfile 说 gem sqlite3 groups gt development test gem mysql2 group gt production 然而当我打字时bundle install在我的开发机器上安装了所有 gem 我
  • 错误:找不到模块“jasmine-core”

    我安装了以下内容进行测试 devDependencies jasmine core 2 4 1 karma 0 13 22 karma jasmine 0 3 7 karma phantomjs launcher 1 0 0 运行后karm
  • 创建一个简单的 Rails 3 文本助手 Gem [重复]

    这个问题在这里已经有答案了 我一直在开发我的第一个 Rails 3 插件 以打包一个我喜欢在ApplicationHelper我所有的应用程序 你可以看到整个代码在 Github 上 https github com burlesona s
  • 如何从 Rails 中的 date_select 或 select_date 获取日期?

    Using select date给我回一个params my date with year month and day属性 如何轻松获取 Date 对象 我希望有类似的事情params my date to date 我很高兴使用date
  • Ruby 中的任务/未来

    代表潜在延迟的异步计算并且可以订阅其完成的模式的惯用 Ruby 模拟是什么 即类似于 NET 的东西System Threading Task 或Python 3 xconcurrent futures future 请注意 这并不一定意味
  • 如何从 ruby​​ 中的字符串名称创建类实例?

    我有一个类的名称 我想创建该类的一个实例 以便我可以循环该类的架构中存在的每个 Rails 属性 我该怎么做呢 我的名称是我想要检查的类的字符串 我想我需要实例化一个类实例 以便我可以 循环遍历它的属性并打印它们 在 Rails 中你可以这
  • 如何从 Ruby 程序发送邮件?

    我想从 Ruby 应用程序发送电子邮件 核心语言中是否有调用来执行此操作 或者是否有我应该使用的库 最好的方法是什么 如果你不想使用行动邮递员 http wiki rubyonrails org rails pages ActionMail
  • 如何使用本地安装的gems执行Ruby程序?

    我已经使用安装了我的依赖项 bundle package 然后将它们传输到离线服务器并运行 gt bundle install local Using mime types 1 19 Using rest client 1 6 7 Usin
  • Bundle 说 gem 丢失了 - 但事实并非如此?

    背景 我正在维护contentRuby On Rails 站点 但我确实没有 Rails 的经验 当尝试运行 Rails 服务器时 rails s我明白了 在任何来源中均找不到 activesupport 3 2 0 Run bundle
  • 在 ruby​​ 中下载多个 FTP 文件,如 d*.txt

    我需要连接到 ftp 站点并下载一堆名为 D txt 的文件 最多 6 个 你能帮我用 Ruby 编写这个代码吗 下面的代码只是 ftp Net FTP new ftp server site ftp login user pwd ftp
  • 我可以将 MAMP (MySQL) 或 XAMPP (MySQL) 与 Ruby on Rails 3 一起使用吗?

    我可以将 MAMP MySQL 或 XAMPP MySQL 与 Ruby on Rails 3 一起使用吗 我从 MYSQL com 安装了 MySQL 但遇到了很多麻烦 所以我喜欢使用 MAMP XAMPP Mysql 有人这样做吗 另外
  • 使用 jasmine 在 angularJS 中注入服务来测试控制器

    我想了解如何使用 jasmine 和 angularJS 测试我的代码 我编写了一个带有控制器和注入服务的测试项目 现在我想测试控制器并尝试模拟注入的服务 但我没有找到一种方法来测试我的控制器的 到达 功能 这是我的jsfiddle htt
  • Selenium 中的“断言”与“验证”

    Selenium 执行的检查通常有两种形式 assertFoo 和 verifyFoo 据我所知 assertFoo 使整个测试用例失败 而 verifyFoo 只是记录该检查的失败并让测试用例继续进行 因此 使用 verifyFoo 即使
  • Shoulda/RSpec 匹配器 - 条件验证

    在我的代码中 我使用 Shoulda 匹配器进行了以下验证 效果很好 it should validate presence of name 在我的模型中 我已将条件添加到验证中 validates presence of name if
  • 使用哈希参数进行 DRY Ruby 初始化

    我发现自己经常在构造函数中使用哈希参数 尤其是在为配置或最终用户将接触到的其他 API 编写 DSL 时 我最终做的是类似以下的事情 class Example PROPERTIES name age PROPERTIES each p a
  • gem 无法访问 ruby​​gems.org

    我有一个带有 Rackspace 的服务器 用于一些 Ruby 站点 当我尝试时bundle install在一个新网站上我得到 Retrying download gem from http rubygems org due to err
  • 模拟pytest中的异常终止

    我的多线程应用程序遇到了一个错误 主线程的任何异常终止 例如 未捕获的异常或某些信号 都会导致其他线程之一死锁 并阻止进程干净退出 我解决了这个问题 但我想添加一个测试来防止回归 但是 我不知道如何在 pytest 中模拟异常终止 如果我只

随机推荐