2012-02-29 5 views
0

factory_girlで仕様を実行しようとしています。マイアプリ/モデル/ student_spec.rbは、次のように.. は 'spec_helper'ルビーのfactory_girlで仕様をテストする方法

describe Student do 
    it "should work" do 
    Factory.create(:name => 'User2', :age => '22', :department => 'IT') 
    end 
end 

を必要とするが、それは は 'factory_girl' を必要と与えられたとして

Failures: 

    1) Student should work 
    Failure/Error: Factory.create(:name => 'User2', :age => '22', :department = 
> 'IT') 
    NoMethodError: 
     undefined method `to_sym' for {:name=>"User2", :age=>"22", :department=>" 
IT"}:Hash 
    # ./spec/models/student_spec.rb:7:in `block (2 levels) in <top (required)>' 


Finished in 0.00073 seconds 
1 example, 1 failure 

スペック/ factories.rbなどのエラーがスローされます

Factory.define :student do |s| 
    s.name 'user2' 
    s.age '22' 
    s.department 'IT' 
end 

私は/更新を作成したり、それが私のために動作しませんdatabase.Butからレコードを検索するspec.Eitherを使用してデータベースからレコードにアクセスしようとしています。

答えて

1

工場の名前を渡す必要があります。

Factory.create(:student, :name => 'User2', :age => '22', :department => 'IT')

あなたが「user2の」の大文字以外の自分の工場出荷時のデフォルトをオーバーライドしているようにそれは見えませんが。

Factory(:student)を使用できます。

関連する問題