2012-08-29 555 views
20

比較有似乎對fabrication寶石資源很少,而且我找不到的,從factory_girl區分的特徵比較不錯。至於版本fabrication-2.2.3factory_girl-4.0.0,我幾乎找不到差異。這些寶石如何比較?什麼使fabrication成爲更好的選擇,爲什麼?他們都融合了嗎?工廠女孩與製造

+0

我想你可以選擇一個答案:) – apneadiving

+1

@apneadiving我想,但所有的答案要麼是主觀的或不完整的。我希望有人可以發表客觀比較。 –

回答

9

工廠女孩有trait一個額外的概念,它是非常有用的。

其他功能似乎或多或少的一致好評。

如果你想選擇一個,可以考慮下載次數:

可能是有用的/支持。

+0

工廠女孩的文檔住在這裏:https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md – apneadiving

+0

謝謝。流行度有明顯差異(https://www.ruby-toolbox.com/categories/rails_fixture_replacement),但這並不一定意味着一個比另一個好。這可能是因爲人們年齡較大,或者更主流,或者因爲其他人最近才成熟。 –

+0

特質的概念很有趣(https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md#traits),顯然不包含在「製造」中。謝謝。 –

13

只是爲了它的價值,我覺得製作是快了,我已經與它經歷更少的錯誤。我認爲人氣大差距主要是因爲製造更新穎。

+0

謝謝@Andrew。你能否詳細說明減少錯誤?什麼類型的錯誤? –

+4

基本上使用FG我偶爾遇到難以調試的錯誤,並且使用Fabrication,我的工作量少得多。 – Andrew

10

我們開始了與工廠女孩,但彼時有利於構建「實際的」 AR模型實例翻錄出來;我現在正在重新審視這個決定。

到目前爲止,我喜歡製造商。似乎更容易嘲諷協會,其中絕對沒有什麼必須擊中一個真正的數據庫,這在FG中從未感覺過。 YMMV,當然,還有:

在你有數據之前,你永遠不要理論。總而言之,你最終會扭轉事實來適應理論,而不是理論來適應事實。 - 福爾摩斯的法律事實理論

+4

+1:當你想避免數據庫訪問時,'Fabricator.build(:factory-name)'就可以工作。我嘗試過使用'FactoryGirl.build'和'FactoryGirl.build_stubbed'而沒有成功 - 它似乎與模型關聯混淆,並最終撞上了數據庫。 – rsenna

+2

這個主題在這裏解決:https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md。將鉤子添加到ActiveSupportNotifications中,您可以看到您的測試是否正在觸及數據庫。你必須小心如何構建你的工廠,以便build_stubbed避免碰到數據庫。它絕對可以正常工作。 – justingordon

0

的我最近做加工廠的分析VS FactoryGirl因爲我很好奇別人提到的性能評價。我還發現加工廠是稍快(但使用協會只有當):

https://ksylvest.com/posts/2017-08-12/fabrication-vs-factorygirl

由於運行時間是如此接近,我更喜歡加工商在FactoryGirl因爲設立協會將默認傳播構建VS創建(而不是必須指定一個策略)。