0

我正在处理酒店预订申请。我遇到的问题是我正在尝试测试我的 API,并且需要为每个测试创建的东西的数量正在失控。例如,假设我想测试我的通话以获取给定日期的可用性/费率,我需要:

  • 创建酒店
  • 创建几个属于酒店的房间类型
  • 为每个房间类型创建房间
  • 为每种房型创建房价
  • 创建一些预订

假设我做了 3 种房间类型,每种 3 种房间,以及 10 天的数据,我为每个测试创建了至少 50-60 条记录。这似乎很多。关于我应该如何处理这个问题的任何想法?

4

1 回答 1

0

您的对象是否必须在每次测试之前运行 - 还是在所有测试运行之前?如果每次测试都需要新对象,则需要使用 before :each do ...end。

如果您需要在每个规范页面只创建一次它们,您可以在工厂定义之后直接将它们放在 let x = ... 中。像这样: let(:user) { FactoryGirl.create(:user) }

此外,如果您有需要唯一名称等的验证,请查看 Faker。

于 2013-06-19T18:36:28.257 回答