微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – FactoryGirl RSpec创建工厂对象时,没有方法错误,工厂设置该对象的属性

无论何时我创建一个Factory对象,我都会在工厂为该对象设置属性时出现此错误 – 在本例中为’name’.为什么???

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)

解决方法

运行rake db:test:clone,然后所有测试数据库列将正确映射到Active Record方法.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐