扩展主要规范文件

时间:2018-01-19 15:06:03

标签: ruby rspec

我需要实现一个主要spec文件和多个扩展主要spec文件的spec文件。

require 'pp'

RSpec.describe do

  context "modify xml tags" do

    context '#modify_trx_id_for' do
      it "modifies trx id" do
        # place hare main code
      end
    end
  end
end

如何使用第二个rspec扩展此规范?

1 个答案:

答案 0 :(得分:2)

这可以通过几种方式解决。如果是关于设置一些模型数据,可以使用共享夹具(例如使用FactoryBot或普通yml文件)来完成

另一种选择是使用Rspec shared context

从他们的示例中,您可以使用公共代码创建“shared_transactions.rb”文件(或任何适合您的模型名称的文件):

RSpec.configure do |rspec|
  rspec.shared_context_metadata_behavior = :apply_to_host_groups
end

RSpec.shared_context "shared documents", :shared_context => :metadata do

  def shared_tags
    "<p>Hello</p>"
  end
end

RSpec.configure do |rspec|
  rspec.include_context "shared documents", :include_shared => true
end

“shared_tags”将在您的所有规格中提供。