當您的開發包和測試塊中包含factory_girl_rails gem時,rails將在生成模型時自動生成工廠。您的模型創建完成後,FactoryGirl能否生成工廠?
您的模型生成後有沒有辦法生成工廠?
Eduardo Santana's ANSWER SHOULD BE CORRECT
當您的開發包和測試塊中包含factory_girl_rails gem時,rails將在生成模型時自動生成工廠。您的模型創建完成後,FactoryGirl能否生成工廠?
您的模型生成後有沒有辦法生成工廠?
Eduardo Santana's ANSWER SHOULD BE CORRECT
的--fixture-replacement
選項會讓你告訴Rails什麼產生構建測試數據。您可以在config/application.rb
文件中設置此爲默認情況下,像這樣:
config.generators do |g|
g.fixture_replacement :factory_girl
end
第一件事,看看源項目,瞭解它是如何實現的:
之後,試圖猜測它是如何工作:
rails g factory_girl:model Car name speed:integer
結果是:
create test/factories/cars.rb
和內容:
# Read about factories at https://github.com/thoughtbot/factory_girl
FactoryGirl.define do
factory :car do
name "MyString"
speed 1
end
end
記住,當你使用導軌克,你可以隨時撤消,護欄剮
rails d factory_girl:model Car name speed:integer
這應該是正確的答案,因爲它回答了關於如何爲已經創建的模型生成工廠的具體問題。常見的情況是將現有的導軌應用程序與默認燈具切換到使用FactoryGirl – 2013-03-03 18:20:12
,您甚至不必猜測它是如何工作的,rails g factory_girl:model --help會告訴你如何。 – 2013-06-23 22:44:22
我的模特甚至被稱爲「車」!是!!! – 2016-04-27 23:15:12
這裏有一些很好的答案,但另一種選擇是使用stepford。對於一些使用具有外鍵約束的模式的項目,deep_ *方法等可能有所幫助,並且這是通過命令行生成工廠的簡單方法。
正是你的意思與「生成」什麼寶石?你必須明確定義和調用它們。 – iltempo 2012-07-28 15:54:18
@iltempo - 我的意思是當你使用「factory_girl_rails」gem,當你通過命令生成你的模型爲「rails g model User first_name:string」時......這個模型的工廠是自動生成的,就像一個工裝供測試用。我想知道是否有模型創建後使用生成器鉤子的方法。 – GuiDoody 2012-07-28 17:45:43