【问题标题】:How to run spec for a gem in your path如何在您的路径中运行 gem 的规范
【发布时间】:2014-07-08 03:07:02
【问题描述】:

问题:

我有一个 Rails 应用程序,我可以使用 rspec spec 成功运行 RSpec 套件。我还制作了一个整洁的小宝石,旁边也有很少的版权。它不是开源的。它是属于该 Rails 应用程序且仅属于该 Rails 应用程序的宝石。

现在,这颗宝石有一些规格,它还能抽出一串漂亮的绿色。所以,为了测试我可能会做的整个应用程序:

$ rspec spec
$ cd custom_gem && rspec spec

这很好,但是如果我想从一条线上运行整套西装怎么办?好吧,我可以这样做:

$ rspec spec custom_gem/spec

但是,这在我的情况下不起作用,因为 gem 也是 Rails 引擎。因此,它必须连接到 gem 中的虚拟应用程序。

既然你知道了,我终于可以问我的关键问题了:

鉴于您的 Rails 引擎还应该有一个虚拟应用程序可供测试,您如何运行 Rails 引擎的规范和主应用程序的规范?

【问题讨论】:

    标签: ruby-on-rails ruby rspec gem rails-engines


    【解决方案1】:

    如果它们都各自正常运行,为什么不直接创建一个 bash 别名?

    alias test_all='cd /full/path/to/gem && rspec spec && cd /full/path/to/rails && rspec spec'
    

    【讨论】:

    • 我试图避免这种情况,以便更好地查看我的代码覆盖率,但这很有效。
    • 这是不使用 bash 别名的一个原因:我不想每次在 lib 下添加新的未构建依赖项 Gem 时都更改我的 CI 配置。请参阅pivotallabs.com/…,了解我正在使用/处理的内容。使用他的示例,我将如何为顶级 rails_app 设置 RSpec,以便它也在 lib 下的每个组件目录中运行(正确捆绑,理想情况下)RSpec?
    猜你喜欢
    • 1970-01-01
    • 2013-12-22
    • 2010-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多