[英]How can I DRY up my Rspec/Capybara suite?
在我的浴室我有這個在許多it
的塊:
let(:user) { create(:user) }
let(:plan) { Plan.first }
let(:subscription) { build(:subscription, user: user ) }
it "something" do
subscription.create_stripe_customer
subscription.update_card valid_card_data
subscription.change_plan_to plan
login_as user
end
我該如何干燥,這樣我就不必在許多文件中重復所有這些行?
您也可以創建類似
def prepare_subscription
subscription.create_stripe_customer
subscription.update_card valid_card_data
subscription.change_plan_to plan
end
在您的it塊中是這樣的:
it "something" do
prepare_subscription
login_as user
end
您無需檢查該規格的值,因此它始終為綠色。
如果您需要在測試前准備一些數據,則可以將該代碼放入幫助器中,並在需要時在(例如) before
塊中調用它。
如果您需要一次又一次地通過檢查規范,則可以使用共享示例 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.