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