【发布时间】:2011-11-29 19:35:30
【问题描述】:
每当我创建一个工厂对象时,我都会收到这个错误,工厂在该对象上设置了一个属性——在本例中为“名称”。为什么???
businesses.rb
FactoryGirl.define do
factory :business do
factory :business_main do
name "Dave's Toys"
end
end
end
企业表
Column | Type | Modifiers
----------------------+-----------------------------+---------------------------------------------------------
id | integer | not null default nextval('businesses_id_seq'::regclass)
name | character varying(255) |
address_line1 | character varying(255) |
address_line2 | character varying(255) |
city | character varying(255) |
state | character varying(255) |
zip | character varying(255) |
business_spec.rb
...
business = Factory(:business_main)
...
# Failure/Error: business = Factory(:business_main)
# NoMethodError: undefined method `name=' for #<Business:0x007fc991684590>
-
Using rails (3.1.3)
Using factory_girl (2.3.2)
Using factory_girl_rails (1.4.0)
Using rspec-core (2.7.1)
Using rspec-expectations (2.7.0)
Using rspec-mocks (2.7.0)
Using rspec (2.7.0)
Using rspec-rails (2.7.0)
【问题讨论】:
-
这很奇怪。你如何运行你的规范?
-
你想通过嵌套
business和business_main这样的工厂来完成什么? -
Ack,我没有在测试数据库中运行我的迁移!
-
@99miles,是的,这是我的第一个猜测
标签: ruby-on-rails rspec factory-bot