我需要实现一个主要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扩展此规范?
答案 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”将在您的所有规格中提供。