【问题标题】:Can shared examples be defined after a feature in RSpec 2?可以在 RSpec 2 中的功能之后定义共享示例吗?
【发布时间】:2015-02-15 04:39:11
【问题描述】:

我正在使用 RSpec/Capybara。 我正在同一个规范文件中编写共享示例。我想将共享示例放在功能之后,因为共享示例很长。

但是,如果我将共享示例放在功能下方,RSpec 会抱怨它无法找到共享示例。有什么方法可以实现吗?

【问题讨论】:

    标签: ruby-on-rails capybara rspec2


    【解决方案1】:

    这个问题已经有一年了,但想提一下 rspecs shared examples 是使用普通模块的替代方案。基本上,您使用it_behaves_like "my_concern" 定义可以包含在任何规范文件中的模块('关注')

    请参阅this question,了解一个很好的例子。

    【讨论】:

      【解决方案2】:

      一种常见的做法是在模块中定义共享示例的代码,并通过配置包含它。这样,您就有了清晰的代码分离和重用。

      在规范/支持/xyz.rb 中

      module SomeSharedExamples
        [...]
      end
      

      在你的spec_helper.rb

      config.include SomeSharedExamples
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-03-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多