我怎样才能干掉我的Rspec / Capybara套房?

时间:2013-08-27 03:57:22

标签: ruby-on-rails rspec capybara

在我的套件中,我在许多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

我怎么能干这个,所以我不必在许多文件中复制所有这些行?

2 个答案:

答案 0 :(得分:1)

您还可以创建类似

的方法
def prepare_subscription
    subscription.create_stripe_customer
    subscription.update_card valid_card_data
    subscription.change_plan_to plan
end

就像你所说的一样:

it "something" do
  prepare_subscription
  login_as user
end

答案 1 :(得分:0)

您没有检查该规范的值,因此它始终为绿色。

如果您需要在测试之前准备一些数据,那么您可以将该代码放入帮助程序并在需要时调用它(例如)before块。

如果您需要反复检查规格传递,则可以使用shared examples