繁体   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