我有一個很大的記錄列表(類似於20,可能更多)has_many:通過關係,這有點複雜,它看起來醜陋的yml。 Factory_girl似乎並沒有給我簡單的能力,只是用基於AR的腳本來創建燈具(這種方式要短得多),對我能做什麼有很好的建議?爲夾具創建Rails批處理對象?
0
A
回答
0
您可以在您的工廠文件中再次打開您的模型並添加一個方法來創建測試記錄。喜歡的東西:
class User
after_create :create_records_for_testing
def create_records_for_testing
# code to create records
end
end
當然,這可能會引起混淆的道路,因爲你正在測試的模型並沒有表現得一樣的,你正在使用你的應用程序模型。也許有更好的方法?
2
不要猴子補丁!使用工廠女孩! (她很可愛):
Factory.define(:user) do |t|
t.factory { |a| a.assocation(:factory) }
end
Factory.define(:factory) do |t|
t.name "Test Factory"
end
在我們規格做到這一點:
before(:each) do
@factory = Factory(:factory)
20.times do
Factory(:user, :factory => @factory)
end
end
+0
您還可以使用Factory Girl's Sequences生成唯一的工廠名稱,或輕鬆添加用戶名稱等。 – Ariejan 2009-09-09 14:45:29
相關問題
- 1. 創建Windows批處理文件以創建文件夾/文件
- 2. 創建批處理文件夾和子文件夾
- 3. 爲命令創建批處理文件
- 4. 創建批處理文件
- 5. 批處理作業自動創建文件夾具有隨機名稱
- 6. Rails:通過候選鍵創建處理對象
- 7. 批處理文件,創建另一個批處理文件
- 8. 創建一個批處理以啓動多個批處理
- 9. Spring批處理框架 - 自動創建批處理表
- 10. 批處理文件創建文件夾,不需要
- 11. 批處理腳本按月分隔創建文件夾
- 12. 創建增量子文件夾的批處理代碼
- 13. 批處理文件:獲取文件夾的創建日期
- 14. 批處理文件保存到文件夾,我創建
- 15. 使用批處理文件創建文件夾名稱
- 16. 創建Win7的批處理文件,所有文件夾中
- 17. 使用csv創建批處理目錄/文件夾
- 18. 基於批處理的文件/文件夾創建
- 19. 批處理文件Filename創建文件夾和txt文件
- 20. 批處理文件夾創建並命名它
- 21. 創建具有處理
- 22. 我應該爲每個地理處理工具創建一個新的地理處理器對象嗎?
- 23. 在Rails中處理批量創建模型
- 24. Rails 3對象爲零或不創建
- 25. Rails管理創建對象時創建另一個
- 26. 批處理:創建一個文件夾並將其命名爲今日日期
- 27. OpenGL批處理和禁用對象
- 28. 批處理文件來創建多個文件夾和子文件夾
- 29. 使用批處理創建文件夾,但前提是文件夾不存在
- 30. 使用批處理文件創建文件夾和多個子文件夾
這是很邪惡!您可以在用戶模型中更改其他語句,並打破系統中的所有測試(或在不應該時通過)。不要猴子修補我們的模型進行測試! – Ariejan 2009-09-09 14:42:53
一個更好的想法可能是爲Factory Girl使用類似此修補程序的東西:http://stackoverflow.com/questions/1506556/hasmany-while-respecting-build-strategy-in-factorygirl – eremite 2009-10-02 04:02:06