Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 失败/错误:config.include::Rails::Controller::Testing::TemplateAssertions,type::Controller_Ruby On Rails_Ruby_Rspec - Fatal编程技术网

Ruby on rails 失败/错误:config.include::Rails::Controller::Testing::TemplateAssertions,type::Controller

Ruby on rails 失败/错误:config.include::Rails::Controller::Testing::TemplateAssertions,type::Controller,ruby-on-rails,ruby,rspec,Ruby On Rails,Ruby,Rspec,我正在尝试运行单个测试文件:bundle exec rspec spec/models/user_spec.rb 但得到以下错误: An error occurred while loading ./spec/models/user_spec.rb. Failure/Error: config.include ::Rails::Controller::Testing::TemplateAssertions, type: :controller NameError: uninitia

我正在尝试运行单个测试文件:
bundle exec rspec spec/models/user_spec.rb

但得到以下错误:

    An error occurred while loading ./spec/models/user_spec.rb.
Failure/Error: config.include ::Rails::Controller::Testing::TemplateAssertions, type: :controller

NameError:
  uninitialized constant Rails::Controller
  Did you mean?  ApiController
# ./spec/rails_helper.rb:149:in `block in <top (required)>'
# ./spec/rails_helper.rb:61:in `<top (required)>'
# ./spec/models/user_spec.rb:3:in `require'
# ./spec/models/user_spec.rb:3:in `<top (required)>'
No examples found.
An error occurred while loading ./spec/models/user_spec.rb.
Failure/Error: module Shoulda::Matchers::ActiveModel

NameError:
  uninitialized constant Shoulda
# ./spec/support/matchers/validate_kept_of_matcher.rb:4:in `<top (required)>'
# ./spec/rails_helper.rb:51:in `block in <top (required)>'
# ./spec/rails_helper.rb:51:in `each'
# ./spec/rails_helper.rb:51:in `<top (required)>'
# ./spec/models/user_spec.rb:3:in `require'
# ./spec/models/user_spec.rb:3:in `<top (required)>'
No examples found.
加载时出错。/spec/models/user_spec.rb。
失败/错误:config.include::Rails::Controller::Testing::TemplateAssertions,type::Controller
名称错误:
未初始化的常量Rails::Controller
你是说?高级控制器
#./spec/rails\u helper.rb:149:in'block in'
#./spec/rails\u helper.rb:61:in`'
#./spec/models/user_spec.rb:3:in'require'
#./spec/models/user_spec.rb:3:in`'
没有找到任何例子。
最初,我遇到以下错误:

    An error occurred while loading ./spec/models/user_spec.rb.
Failure/Error: config.include ::Rails::Controller::Testing::TemplateAssertions, type: :controller

NameError:
  uninitialized constant Rails::Controller
  Did you mean?  ApiController
# ./spec/rails_helper.rb:149:in `block in <top (required)>'
# ./spec/rails_helper.rb:61:in `<top (required)>'
# ./spec/models/user_spec.rb:3:in `require'
# ./spec/models/user_spec.rb:3:in `<top (required)>'
No examples found.
An error occurred while loading ./spec/models/user_spec.rb.
Failure/Error: module Shoulda::Matchers::ActiveModel

NameError:
  uninitialized constant Shoulda
# ./spec/support/matchers/validate_kept_of_matcher.rb:4:in `<top (required)>'
# ./spec/rails_helper.rb:51:in `block in <top (required)>'
# ./spec/rails_helper.rb:51:in `each'
# ./spec/rails_helper.rb:51:in `<top (required)>'
# ./spec/models/user_spec.rb:3:in `require'
# ./spec/models/user_spec.rb:3:in `<top (required)>'
No examples found.
加载时出错。/spec/models/user_spec.rb。
失败/错误:模块Shoulda::Matchers::ActiveModel
名称错误:
未初始化的常量应为
#./spec/support/matchers/validate\u matcher.rb:4:in`'
#./spec/rails\u helper.rb:51:in'block in'
#./spec/rails\u helper.rb:51:in'each'
#./spec/rails\u helper.rb:51:in`'
#./spec/models/user_spec.rb:3:in'require'
#./spec/models/user_spec.rb:3:in`'
没有找到任何例子。
但在我将以下内容添加到测试文件后,它得到了修复

需要“shoulda/matchers”


我是Ruby/Rails领域的新手,有人能给我一个方向吗?

Rails::Controller::Testing::TemplateAssertions

您可以通过安装重新添加已折旧的功能。然而,RSpec和Rails团队都不鼓励使用控制器规范、赋值和模板断言,这不是很适合未来的

社区接受的解决方案是写入并停止在控制器中插入