【发布时间】:2014-09-19 02:24:19
【问题描述】:
我知道播种测试数据库是一种bad idea。 我需要在我的模型测试中测试Stripe api 通信。我知道单元测试中的外部请求也是一个坏主意,但尽管如此。
条带帐户具有静态订阅计划名称。因此,当我测试与 Stripe 链接的功能时,我需要从我的数据库中获取它们。我使用 Factory girl gem 作为固定源,但由于我只需要 Stripe 计划的特定名称,因此我将它们硬编码到工厂:
factory :subscription_type do
name "Personal"
frequency "month"
stripe_plan_id "personal"
end
使用这个的其他工厂每次都尝试创建具有相同字段值的新对象,并且由于对 subscription_type 模型的唯一性验证,工厂会抛出错误。如果在一个示例中调用它们,我希望它们都使用相同的记录(如果存在)。
各位,这里的最佳做法是什么?
【问题讨论】:
标签: ruby-on-rails ruby rspec factory-bot