未初始化的常量名称运行rspec时出错,但在Rails控制台中工作正常

拉斐尔·奥托尼

使用FactoryGirl运行rspec时出现“ nameError:未初始化常量”错误,但是当我通过运行Rails C测试在控制台内部调用FactoryGirl.build时,它可以正确识别FactoryGirl。

这是rspec的输出:

Failures:

1) create user test
 Failure/Error: FactoryGirl.build(:user)

 NameError:
   uninitialized constant User
 # /Users/rapha/.rvm/gems/ruby-2.2.3/gems/activesupport-4.2.5/lib/active_support/inflector/methods.rb:261:in `const_get'
 # /Users/rapha/.rvm/gems/ruby-2.2.3/gems/activesupport-4.2.5/lib/active_support/inflector/methods.rb:261:in `block in constantize'
 # /Users/rapha/.rvm/gems/ruby-2.2.3/gems/activesupport-4.2.5/lib/active_support/inflector/methods.rb:259:in `each'
 # /Users/rapha/.rvm/gems/ruby-2.2.3/gems/activesupport-4.2.5/lib/active_support/inflector/methods.rb:259:in `inject'
 # /Users/rapha/.rvm/gems/ruby-2.2.3/gems/activesupport-4.2.5/lib/active_support/inflector/methods.rb:259:in `constantize'
 # /Users/rapha/.rvm/gems/ruby-2.2.3/gems/activesupport-4.2.5/lib/active_support/core_ext/string/inflections.rb:66:in `constantize'
 # /Users/rapha/.rvm/gems/ruby-2.2.3/gems/factory_girl-4.5.0/lib/factory_girl/factory.rb:26:in `build_class'
 # /Users/rapha/.rvm/gems/ruby-2.2.3/gems/factory_girl-4.5.0/lib/factory_girl/factory.rb:37:in `run'
 # /Users/rapha/.rvm/gems/ruby-2.2.3/gems/factory_girl-4.5.0/lib/factory_girl/factory_runner.rb:23:in `block in run'
 # /Users/rapha/.rvm/gems/ruby-2.2.3/gems/activesupport-4.2.5/lib/active_support/notifications.rb:166:in `instrument'
 # /Users/rapha/.rvm/gems/ruby-2.2.3/gems/factory_girl-4.5.0/lib/factory_girl/factory_runner.rb:22:in `run'
 # /Users/rapha/.rvm/gems/ruby-2.2.3/gems/factory_girl-4.5.0/lib/factory_girl/strategy_syntax_method_registrar.rb:20:in `block in define_singular_strategy_method'
 # ./spec/model/user_spec.rb:7:in `block (2 levels) in <top (required)>'

 Finished in 0.001 seconds (files took 0.31845 seconds to load)

1例,1例失败

/spec/spec_helper.rb:

require 'factory_girl_rails'

RSpec.configure do |config|

  config.include FactoryGirl::Syntax::Methods
  config.before do
    FactoryGirl.find_definitions
  end
  ...
end

/spec/rails_helper.rb:

require 'spec_helper'
require 'rspec/rails'
require 'capybara/rspec'
require 'factory_girl_rails'

RSpec.configure do |config|

  config.include FactoryGirl::Syntax::Methods

  ...

end

/spec/model/user_spec.rb:

 require 'spec_helper'

 # Create factory de user
 describe "create user" do
  it "test" do
    u = FactoryGirl.build(:user)
  end
end

/ Gemfile:

group :development, :test do
  gem 'rspec-rails'
  gem 'guard-rspec'
  gem 'capybara'
  gem 'factory_girl_rails'

end
yhirano55

解决NameError

  • 你需要移动FactoryGirl的配置,以/spec/rails_helper.rb/spec/spec_helper.rb

  • 您需要更换spec_helperrails helper/spec/model/user_spec.rb

请尝试一下。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Solr运行正常,但在尝试打开控制台“ localhost:8983”时遇到“ SolrCore初始化失败”

来自分类Dev

无法运行RSpec(未初始化的常量用户(NameError)

来自分类Dev

Rspec / Rails:未初始化的常量ActiveSupport :: Autoload(NameError)

来自分类Dev

当运行RSpec时,我得到未初始化的常量Name :: Name :: Engine

来自分类Dev

控制器Rails中的未初始化常量

来自分类Dev

实例化类时,Rails未初始化的常量

来自分类Dev

在Rails中运行rake命令时未初始化的常量

来自分类Dev

在rails中使用gem时未初始化的常量

来自分类Dev

管道编程失败,但在SSH控制台中运行正常

来自分类Dev

Rails 4-名称空间中的首字母缩写控制器,给出“未初始化的常量”错误

来自分类Dev

contains() 和 Replace() 在控制台中工作,但在运行脚本时不起作用

来自分类Dev

NameError:未初始化的常量(rails)

来自分类Dev

Rails关联的未初始化常量

来自分类Dev

RSpec找不到我的控制器未初始化的常量

来自分类Dev

尝试在Rails路由中使用名称空间时获取ActionController :: RoutingError未初始化的常量

来自分类Dev

在Groovy控制台中初始化AssetManager

来自分类Dev

Rspec停止工作-`<module:ActionController>':未初始化的常量ActionController :: Metal(NameError)

来自分类Dev

Rails + RSpec-不需要规范/支持文件;给出“未初始化的常量(NameError)”

来自分类Dev

Rails + RSpec-不需要规范/支持文件;给出“未初始化的常量(NameError)”

来自分类Dev

roo gem无法正常工作(NameError:未初始化的常量Excel)

来自分类Dev

控制器名称空间中的未初始化常量

来自分类Dev

RSpec:未初始化的常量ActiveRecord(NameError)

来自分类Dev

RSpec错误:未初始化的常量ModuleName :: Chef(NameError)

来自分类Dev

NameError:RSpec 上的未初始化常量

来自分类Dev

JSON.parse()在控制台中工作正常,但在HTML中却无法正常工作

来自分类Dev

尝试使用ruby gem- NameError时出错(未初始化的常量RightScraper :: Scraper)

来自分类Dev

Rails路由错误:控制器中未初始化的常量

来自分类Dev

Rails:控制器无法从模块/命名空间识别类-未初始化的常量

来自分类Dev

运行Rails控制台时会调用Rails初始化程序吗

Related 相关文章

  1. 1

    Solr运行正常,但在尝试打开控制台“ localhost:8983”时遇到“ SolrCore初始化失败”

  2. 2

    无法运行RSpec(未初始化的常量用户(NameError)

  3. 3

    Rspec / Rails:未初始化的常量ActiveSupport :: Autoload(NameError)

  4. 4

    当运行RSpec时,我得到未初始化的常量Name :: Name :: Engine

  5. 5

    控制器Rails中的未初始化常量

  6. 6

    实例化类时,Rails未初始化的常量

  7. 7

    在Rails中运行rake命令时未初始化的常量

  8. 8

    在rails中使用gem时未初始化的常量

  9. 9

    管道编程失败,但在SSH控制台中运行正常

  10. 10

    Rails 4-名称空间中的首字母缩写控制器,给出“未初始化的常量”错误

  11. 11

    contains() 和 Replace() 在控制台中工作,但在运行脚本时不起作用

  12. 12

    NameError:未初始化的常量(rails)

  13. 13

    Rails关联的未初始化常量

  14. 14

    RSpec找不到我的控制器未初始化的常量

  15. 15

    尝试在Rails路由中使用名称空间时获取ActionController :: RoutingError未初始化的常量

  16. 16

    在Groovy控制台中初始化AssetManager

  17. 17

    Rspec停止工作-`<module:ActionController>':未初始化的常量ActionController :: Metal(NameError)

  18. 18

    Rails + RSpec-不需要规范/支持文件;给出“未初始化的常量(NameError)”

  19. 19

    Rails + RSpec-不需要规范/支持文件;给出“未初始化的常量(NameError)”

  20. 20

    roo gem无法正常工作(NameError:未初始化的常量Excel)

  21. 21

    控制器名称空间中的未初始化常量

  22. 22

    RSpec:未初始化的常量ActiveRecord(NameError)

  23. 23

    RSpec错误:未初始化的常量ModuleName :: Chef(NameError)

  24. 24

    NameError:RSpec 上的未初始化常量

  25. 25

    JSON.parse()在控制台中工作正常,但在HTML中却无法正常工作

  26. 26

    尝试使用ruby gem- NameError时出错(未初始化的常量RightScraper :: Scraper)

  27. 27

    Rails路由错误:控制器中未初始化的常量

  28. 28

    Rails:控制器无法从模块/命名空间识别类-未初始化的常量

  29. 29

    运行Rails控制台时会调用Rails初始化程序吗

热门标签

归档