我有以下测试设置,我现在发现它需要在多个测试套件中使用。
before do
@guest, @host = FactoryGirl.create(:user), FactoryGirl.create(:user)
@booking = FactoryGirl.create(
:booking,
user: @guest,
listing: FactoryGirl.create(:listing, user: @host),
state: "unaccepted_by_guest_or_host"
)
end
在多个文件中使用相同的精确代码显然并不理想。如果可能的话,我认为我更喜欢的是:
before do
@guest, @host = FactoryGirl.create(:user), FactoryGirl.create(:user)
@booking = FactoryGirl.create(
:complete_booking,
guest: @guest,
host: @host,
)
end
这当然仍然有点重复,但我不会觉得那么糟糕。
有可能实现我想要实现的目标吗?有更好的可能吗?
答案 0 :(得分:0)
您始终可以定义一个给定@guest
和@host
的测试帮助程序,它会设置您在第一个代码段中列出的内容。同样的好处,没有重复。