簡體   English   中英

干燥factory_girl測試設置

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM