在我的套件中,我在许多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
我怎么能干这个,所以我不必在许多文件中复制所有这些行?
答案 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。