[英]DRYing up factory_girl test setup
我有以下測試設置,現在發現有必要在多個測試套件中使用。
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
當然,這仍然會有些重復,但是我對此不會感到那么糟糕。
是否有可能實現我想要達到的目標? 有沒有更好的可能?
您總是可以定義一個給定@guest
和@host
的測試助手,它會按照您在第一個代碼段中列出的內容進行設置。 相同的好處,沒有重復。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.