1

admin_user というファクトリを定義しましたが、使用しようとするとエラーが発生します。

工場/user_factory.rb:

FactoryGirl.define do
  factory :user do
    email "example_user@example"
    password "password"
  end

  factory :admin_user do
    email "admin_user@example.com"
    password "admin_password"
  end
end

authentication_steps.rb:

Given /^I have a valid admin account$/ do
  @user = FactoryGirl.create(:admin_user)
end

そのステップを実行すると、次のエラーが発生します。

uninitialized constant AdminUser (NameError)

正しく従わない構文はありますか?

ありがとう

4

1 に答える 1

1

次のクラスを指定する必要があります:user_admin

FactoryGirl.define do
  factory :admin_user, :class => User do
    email "admin_user@example.com"
    password "admin_password"
  end
end

説明:

を使用すると、FactoryGirlは存在しないAdminUserfactory :admin_user doクラスを自動的に検索します。 したがって、を追加して、使用するクラスを指定する必要があります。
:class => User

于 2012-05-16T19:51:20.860 に答える