1

テスト ファイルの実行中にエラーが発生します。

factory.rb:334:in `factory_by_name': No such factory: user (ArgumentError)

私はユーザー モデルを持っていますが、それでもこのエラーが発生するのはなぜですか? 私の factory.rb には以下が含まれます:

FactoryGirl.define do
  factory :user do |u|
    u.sequence(:email) {|n| "#{n}@email.com"}
    u.login 'Joe'
    u.password 'password'
    u.password_confirmation 'password'
    u.phone '1111111111'
    u.gender 'F'
    u.active '1'
    u.social_profile_active '1'
  end
end

test_helper.rb

ENV["RAILS_ENV"] = "test"
require File.expand_path('../../config/environment', __FILE__)
require 'rails/test_help'
require 'factory_girl'
#Factory.find_definitions

class ActiveSupport::TestCase
  # Setup all fixtures in test/fixtures/*.(yml|csv) for all tests in alphabetical order.
  #
  # Note: You'll currently still have to declare fixtures explicitly in integration tests
  # -- they do not yet inherit this setting
  #fixtures :all

  # Add more helper methods to be used by all tests here...
end

私のルビーのバージョンは 1.8.7 と rails3.0.1 です

そして、私の gemfile は次のようになります: group :test do gem 'shoulda' gem 'factory_girl_rails' gem 'mocha' end

4

1 に答える 1

1

ディレクトリの名前を次のいずれかに変更します。

ファクトリはどこでも定義できますが、次の場所にあるファイルで定義されている場合は自動的にロードされます。

test/factories.rb

スペック/factories.rb

テスト/工場/*.rb

仕様/工場/*.rb

https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md

于 2012-10-29T12:55:46.593 に答える