我需要将这些灯具用于许多规格文件。
目前,我必须在每个SPEC脚本之后使用COPY和PASTE。我怎么能以更好的方式做到这一点。感谢
before(:all) do
@airline = FG.create(:airline)
@airports = AIRPORTS.collect{|airport| FG.create(:airport, code: airport)}
@flight = FG.create(:flight, from_airport: @airports[0], to_airport: @airports[3])
@sku = FG.create(:flight_sku, flight: @flight)
@fares = CABIN_TYPE.collect do |cabin|
FG.create(:flight_sku_fare,
flight_sku: @sku,
cabin_class: cabin,
price: Faker::Number.between(1500, 18000))
end
end
答案 0 :(得分:0)
使用shared_context
:https://relishapp.com/rspec/rspec-core/v/3-4/docs/example-groups/shared-context。
RSpec.shared_context "create airlines" do
before(:all) do
@airline = FG.create(:airline)
@airports = AIRPORTS.collect{|airport| FG.create(:airport, code: airport)}
@flight = FG.create(:flight, from_airport: @airports[0], to_airport: @airports[3])
@sku = FG.create(:flight_sku, flight: @flight)
@fares = CABIN_TYPE.collect do |cabin|
FG.create(:flight_sku_fare,
flight_sku: @sku,
cabin_class: cabin,
price: Faker::Number.between(1500, 18000))
end
end
end
在你的规范中
describe "My test" do
include_context "create airlines"
end