本文介绍了FactoryGirl:工厂未注册:user(ArgumentError)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



设置一个minimalist rails应用程序(3.0.11),factory_girl_rails(1.4.0) ),factory_girl(2.3.2)&


$ b


$ b

 特性:a 
场景:test factory-girl
给定以下用户:
|名称|电子邮件|
| Brandon | brandon@example.com |

结果是:

  cucumber 
使用默认配置文件...
Adam Advertiser
a@b.com
#< User id:nil,name:nil,created_at:nil,updated_at:nil,email:nil>
特性:a

场景:test factory-girl#features / users.feature:2
给定以下用户存在:#factory_girl-2.3.2 / lib / factory_girl / step_definitions.rb:100
|名称|电子邮件|
| Brandon | brandon@example.com |
**工厂未注册:user(ArgumentError)**
features / users.feature:3:在给定以下用户存在:'

失败情况:
cucumber features / users.feature:2#场景:test factory-girl

1个场景(1个失败)
1个步骤(1个失败)
0m0.107s

这可能是一个加载序列问题。将欣赏任何帮助,得到这个权利。
Regards
Ross



features / Factories.rb因此是

  FactoryGirl.define do 
factory:user do
name'Adam Advertiser'
email'a@b.com '
end
end
pp FactoryGirl.create(:user)

需要'factory_girl / step_definitions'
pre>

我的功能/支持/ env.rb是

  require'pp'
require'cucumber / rails'

要求'factory_girl_rails'

我的GemFile是

  ://rubygems.org'

gem'rails','3.0.11'

gem'sqlite3'


:development,:test do

gem'cucumber-rails'
gem'factory_girl_rails'#rails 3 version

end


解决方案

调用 FactoryGirl.find_definitions require'factory_girl_rails'为我修复了类似的问题。



查看


Having a lot trouble getting all the ducks in the right order with FactoryGirl.

Set up a minimalist rails app (3.0.11), factory_girl_rails (1.4.0), factory_girl (2.3.2) & cucumber-rails (1.2.1) and ruby-1.8.7-p352.

The cucumber test is:

Feature: a
  Scenario: test factory-girl
    Given the following user exists:
    | name    | email               |
    | Brandon | brandon@example.com |

The result is this:

cucumber 
Using the default profile...
"Adam Advertiser"
"a@b.com"
#<User id: nil, name: nil, created_at: nil, updated_at: nil, email: nil>
Feature: a

  Scenario: test factory-girl        # features/users.feature:2
    Given the following user exists: # factory_girl-2.3.2/lib/factory_girl/step_definitions.rb:100
      | name    | email               |
      | Brandon | brandon@example.com |
      **Factory not registered: user (ArgumentError)**
      features/users.feature:3:in `Given the following user exists:'

Failing Scenarios:
cucumber features/users.feature:2 # Scenario: test factory-girl

1 scenario (1 failed)
1 step (1 failed)
0m0.107s

It would seem a load sequence problem, maybe. Would appreciate any help to get this right.RegardsRoss

features/Factories.rb is thus:

FactoryGirl.define do
    factory :user do
        name 'Adam Advertiser'
        email 'a@b.com'
    end
end
pp FactoryGirl.create(:user)

require 'factory_girl/step_definitions'

My features/support/env.rb is:

require 'pp'
require 'cucumber/rails'

require 'factory_girl_rails'

My GemFile is:

source 'http://rubygems.org'

gem 'rails', '3.0.11'

gem 'sqlite3'


group :development, :test do

    gem 'cucumber-rails'
    gem 'factory_girl_rails'     # rails 3 version

end
解决方案

Calling FactoryGirl.find_definitions right after the require 'factory_girl_rails' fixed a similar problem for me.

See Cannot get factory_girl running under rails 3.0.5,unexpected tCONSTANT

这篇关于FactoryGirl:工厂未注册:user(ArgumentError)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-23 03:18