簡體   English   中英

如何干燥我的Rspec / Capybara套件?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM