Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.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 4 RSPEC失败/错误:无法从回溯中找到匹配行_Ruby On Rails 4_Rspec - Fatal编程技术网

Ruby on rails 4 RSPEC失败/错误:无法从回溯中找到匹配行

Ruby on rails 4 RSPEC失败/错误:无法从回溯中找到匹配行,ruby-on-rails-4,rspec,Ruby On Rails 4,Rspec,我被难住了。我不知道如何找到问题的根源。以下是我得到的错误: > bundle exec rspec spec ThemeMaintainer should have tests (FAILED - 1) Failures: 1) ThemeMaintainer should have tests Failure/Error: Unable to find matching line from backtrace TypeError: wr

我被难住了。我不知道如何找到问题的根源。以下是我得到的错误:

> bundle exec rspec spec 

ThemeMaintainer
  should have tests (FAILED - 1)

Failures:

  1) ThemeMaintainer should have tests
     Failure/Error: Unable to find matching line from backtrace
     TypeError:
       wrong argument type Class (expected Module)
     # /Users/tj/.rvm/gems/ruby-2.1.3@global/ruby/2.1.0/gems/actionpack-4.0.12/lib/abstract_controller/helpers.rb:170:in `include'
     # /Users/tj/.rvm/gems/ruby-2.1.3@global/ruby/2.1.0/gems/actionpack-4.0.12/lib/abstract_controller/helpers.rb:170:in `block in add_template_helper'
     # /Users/tj/.rvm/gems/ruby-2.1.3@global/ruby/2.1.0/gems/actionpack-4.0.12/lib/abstract_controller/helpers.rb:170:in `module_eval'
     # /Users/tj/.rvm/gems/ruby-2.1.3@global/ruby/2.1.0/gems/actionpack-4.0.12/lib/abstract_controller/helpers.rb:170:in `add_template_helper'
     # /Users/tj/.rvm/gems/ruby-2.1.3@global/ruby/2.1.0/gems/actionpack-4.0.12/lib/abstract_controller/helpers.rb:95:in `block in helper'
     # /Users/tj/.rvm/gems/ruby-2.1.3@global/ruby/2.1.0/gems/actionpack-4.0.12/lib/abstract_controller/helpers.rb:94:in `each'
     # /Users/tj/.rvm/gems/ruby-2.1.3@global/ruby/2.1.0/gems/actionpack-4.0.12/lib/abstract_controller/helpers.rb:94:in `helper'
     # /Users/tj/.rvm/gems/ruby-2.1.3@global/ruby/2.1.0/gems/actionpack-4.0.12/lib/action_view/test_case.rb:93:in `include_helper_modules!'
     # /Users/tj/.rvm/gems/ruby-2.1.3@global/ruby/2.1.0/gems/actionpack-4.0.12/lib/action_view/test_case.rb:86:in `new'

Finished in 0.0017 seconds (files took 13.66 seconds to load)
1 example, 1 failure

Failed examples:

rspec ./spec/helpers/theme_maintainer_spec.rb:4 # ThemeMaintainer should have tests

Top 1 slowest examples (0.00001 seconds, 0.8% of total time):
  ThemeMaintainer should have tests
    0.00001 seconds ./spec/helpers/theme_maintainer_spec.rb:4

Randomized with seed 27022

Coverage report generated for RSpec to /Users/tj/projects/AOT/aotv2/coverage. 9272 / 22617 LOC (41.0%) covered.
/Users/tj/.rvm/gems/ruby-2.1.3@global/ruby/2.1.0/gems/actionpack-4.0.12/lib/abstract_controller/helpers.rb:170:in `include': wrong argument type Class (expected Module) (TypeError)
    from /Users/tj/.rvm/gems/ruby-2.1.3@global/ruby/2.1.0/gems/actionpack-4.0.12/lib/abstract_controller/helpers.rb:170:in `block in add_template_helper'
    from /Users/tj/.rvm/gems/ruby-2.1.3@global/ruby/2.1.0/gems/actionpack-4.0.12/lib/abstract_controller/helpers.rb:170:in `module_eval'
    from /Users/tj/.rvm/gems/ruby-2.1.3@global/ruby/2.1.0/gems/actionpack-4.0.12/lib/abstract_controller/helpers.rb:170:in `add_template_helper'
    from /Users/tj/.rvm/gems/ruby-2.1.3@global/ruby/2.1.0/gems/actionpack-4.0.12/lib/abstract_controller/helpers.rb:95:in `block in helper'
    from /Users/tj/.rvm/gems/ruby-2.1.3@global/ruby/2.1.0/gems/actionpack-4.0.12/lib/abstract_controller/helpers.rb:94:in `each'
    from /Users/tj/.rvm/gems/ruby-2.1.3@global/ruby/2.1.0/gems/actionpack-4.0.12/lib/abstract_controller/helpers.rb:94:in `helper'
    from /Users/tj/.rvm/gems/ruby-2.1.3@global/ruby/2.1.0/gems/actionpack-4.0.12/lib/action_view/test_case.rb:93:in `include_helper_modules!'
    from /Users/tj/.rvm/gems/ruby-2.1.3@global/ruby/2.1.0/gems/actionpack-4.0.12/lib/action_view/test_case.rb:86:in `new'
    from /Users/tj/.rvm/rubies/ruby-2.1.3/lib/ruby/gems/2.1.0/ruby/2.1.0/gems/rspec-core-3.1.4/lib/rspec/core/example_group.rb:472:in `run'
    from /Users/tj/.rvm/rubies/ruby-2.1.3/lib/ruby/gems/2.1.0/ruby/2.1.0/gems/rspec-core-3.1.4/lib/rspec/core/runner.rb:111:in `block (2 levels) in run_specs'
    from /Users/tj/.rvm/rubies/ruby-2.1.3/lib/ruby/gems/2.1.0/ruby/2.1.0/gems/rspec-core-3.1.4/lib/rspec/core/runner.rb:111:in `map'
    from /Users/tj/.rvm/rubies/ruby-2.1.3/lib/ruby/gems/2.1.0/ruby/2.1.0/gems/rspec-core-3.1.4/lib/rspec/core/runner.rb:111:in `block in run_specs'
    from /Users/tj/.rvm/rubies/ruby-2.1.3/lib/ruby/gems/2.1.0/ruby/2.1.0/gems/rspec-core-3.1.4/lib/rspec/core/reporter.rb:53:in `report'
    from /Users/tj/.rvm/rubies/ruby-2.1.3/lib/ruby/gems/2.1.0/ruby/2.1.0/gems/rspec-core-3.1.4/lib/rspec/core/runner.rb:107:in `run_specs'
    from /Users/tj/.rvm/rubies/ruby-2.1.3/lib/ruby/gems/2.1.0/ruby/2.1.0/gems/rspec-core-3.1.4/lib/rspec/core/runner.rb:85:in `run'
    from /Users/tj/.rvm/rubies/ruby-2.1.3/lib/ruby/gems/2.1.0/ruby/2.1.0/gems/rspec-core-3.1.4/lib/rspec/core/runner.rb:69:in `run'
    from /Users/tj/.rvm/rubies/ruby-2.1.3/lib/ruby/gems/2.1.0/ruby/2.1.0/gems/rspec-core-3.1.4/lib/rspec/core/runner.rb:37:in `invoke'
    from /Users/tj/.rvm/gems/ruby-2.1.3@global/ruby/2.1.0/gems/rspec-core-3.1.4/exe/rspec:4:in `<top (required)>'
    from /Users/tj/.rvm/gems/ruby-2.1.3@global/ruby/2.1.0/bin/rspec:23:in `load'
    from /Users/tj/.rvm/gems/ruby-2.1.3@global/ruby/2.1.0/bin/rspec:23:in `<main>'
每次运行
rspec spec
时,我都会在不同的spec上立即得到一个错误(这是测试的随机序列)。明显地维护器规范并没有什么问题,每一个我得到的错误都可以在自己运行时轻易通过

所以我的问题是如何找到真正失败的规范

我在规格下有8个目录。我运行了他们
rspec spec/
8次单独运行,所有运行都正常。只有当我为整个应用程序运行
rspec spec
时,我才会得到错误。Stacktrace总是一样的。错误总是一样的


我可以使用一些关于如何诊断的指导。

显然,正如Github问题响应中建议的那样,
config.infere\u spec\u type\u from\u file\u location不应该被使用(就像在RSpec.configure中关闭它一样),这样就解决了问题


我仍然不知道为什么它已经开了2年,到目前为止没有任何问题,所以它现在失败了。

您没有关闭该区块

require 'spec_helper.rb'

RSpec.describe ThemeMaintainer do
  it 'should have tests' do
  end
end

在写了这篇文章之后,我怀疑有很多情况会导致最初的问题。我的只是上面的那一个。YMMV。当你有一个解决方案时,发布你发现的是你的解决方案。我怀疑把一个挂起的测试改成一个假的测试是问题所在。
require 'spec_helper.rb'

RSpec.describe ThemeMaintainer do
  it 'should have tests' do
  end
end