We do test against a simple sample application without ActiveRecord to
catch related errors. Our current checks around when / if to load
ActiveRecord related code is to check if ActiveRecord is already defined in
the system. This can happen for several reasons:

   - You are still loading the ActiveRecord railtie
   - You are referencing ActiveRecord in an initializer which is loading it
   - Some other code in the code base is loading the ActiveRecord module
   (simply referencing it will cause Rails to autoload it)
   - Another gem in your system is loading ActiveRecord

The last bullet point above is the most common cause. I would start by
checking your Gemfile for any gems which may list ActiveRecord as a gem
dependency. This isn’t guaranteed to tell you the offending gem. It is
likely Rails may be a dependency, or another related gem. Additionally, the
gem may not even list AR as a dependency, but will reference ActiveRecord
in the code. I would also look at any other gems which may have changed
during the upgrade and slowly start to comment them out to see when the
issue does / does not occur.

While it is possible there is an issue with rspec-rails somewhere, my
initial review didn’t turn up anything obvious. I’m currently leaning
towards another gem in your system loading it.


On Sun, Mar 8, 2015 at 9:25 PM, 顾明 <[email protected]> wrote:

> Al, thanks for your reply.
> But my app doesn't use database at all.
> When I run a test, why it will run the example?
> Form the error trace:
> # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
> 2.1.0/gems/rspec-core-3.2.0/lib/rspec/core/example.rb:343:in
> `with_around_example_hooks'
>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
> 2.1.0/gems/rspec-core-3.2.0/lib/rspec/core/example.rb:385:in
> `with_around_and_singleton_context_hooks'
>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
> 2.1.0/gems/rspec-core-3.2.0/lib/rspec/core/example.rb:174:in `run'
>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
> 2.1.0/gems/rspec-core-3.2.0/lib/rspec/core/example_group.rb:548:in `block
> in run_examples'
>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
> 2.1.0/gems/rspec-core-3.2.0/lib/rspec/core/example_group.rb:544:in `map'
>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
> 2.1.0/gems/rspec-core-3.2.0/lib/rspec/core/example_group.rb:544:in
> `run_examples'
>
> 在 2015年3月7日星期六 UTC+8上午3:54:12,Al写道:
>
>> http://stackoverflow.com/questions/7871233/ruby-
>> activerecordconnectionnotestablished
>>
>> I googled "ActiveRecord::ConnectionNotEstablished" and found out that it
>> was a database issue. Found this: http://stackoverflow.com/
>> questions/7871233/ruby-activerecordconnectionnotestablished
>>
>> On Thursday, March 5, 2015 at 10:06:57 PM UTC-5, 顾明 wrote:
>>>
>>> The problem didn't happened before, I do not knew if it caused by
>>> something upgrades.
>>>
>>> Now all the tests have caused this problem, such as a simple:
>>>
>>> require 'spec_helper'
>>> describe 'some_thing' do
>>>   it "returns the product price" do
>>>     #expect(helper.product_price).to eq(100)
>>>   end
>>> end
>>>
>>> Error list belows:
>>> Failure/Error: Unable to find matching line from backtrace
>>>      ActiveRecord::ConnectionNotEstablished:
>>>        ActiveRecord::ConnectionNotEstablished
>>>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
>>> 2.1.0/gems/activerecord-4.1.8/lib/active_record/connection_
>>> adapters/abstract/connection_pool.rb:541:in `retrieve_connection'
>>>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
>>> 2.1.0/gems/activerecord-4.1.8/lib/active_record/connection_handling.rb:113:in
>>> `retrieve_connection'
>>>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
>>> 2.1.0/gems/activerecord-4.1.8/lib/active_record/connection_handling.rb:87:in
>>> `connection'
>>>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
>>> 2.1.0/gems/activerecord-4.1.8/lib/active_record/fixtures.rb:499:in
>>> `create_fixtures'
>>>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
>>> 2.1.0/gems/activerecord-4.1.8/lib/active_record/fixtures.rb:984:in
>>> `load_fixtures'
>>>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
>>> 2.1.0/gems/activerecord-4.1.8/lib/active_record/fixtures.rb:957:in
>>> `setup_fixtures'
>>>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
>>> 2.1.0/gems/activerecord-4.1.8/lib/active_record/fixtures.rb:806:in
>>> `before_setup'
>>>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
>>> 2.1.0/gems/rspec-rails-3.2.0/lib/rspec/rails/adapters.rb:110:in `block
>>> (2 levels) in <module:MinitestLifecycleAdapter>'
>>>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
>>> 2.1.0/gems/rspec-core-3.2.0/lib/rspec/core/example.rb:333:in
>>> `instance_exec'
>>>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
>>> 2.1.0/gems/rspec-core-3.2.0/lib/rspec/core/example.rb:333:in
>>> `instance_exec'
>>>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
>>> 2.1.0/gems/rspec-core-3.2.0/lib/rspec/core/hooks.rb:387:in
>>> `execute_with'
>>>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
>>> 2.1.0/gems/rspec-core-3.2.0/lib/rspec/core/hooks.rb:616:in `block (2
>>> levels) in run_around_example_hooks_for'
>>>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
>>> 2.1.0/gems/rspec-core-3.2.0/lib/rspec/core/example.rb:247:in `call'
>>>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
>>> 2.1.0/gems/rspec-core-3.2.0/lib/rspec/core/example.rb:247:in `call'
>>>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
>>> 2.1.0/gems/rspec-core-3.2.0/lib/rspec/core/hooks.rb:617:in
>>> `run_around_example_hooks_for'
>>>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
>>> 2.1.0/gems/rspec-core-3.2.0/lib/rspec/core/hooks.rb:474:in `run'
>>>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
>>> 2.1.0/gems/rspec-core-3.2.0/lib/rspec/core/example.rb:343:in
>>> `with_around_example_hooks'
>>>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
>>> 2.1.0/gems/rspec-core-3.2.0/lib/rspec/core/example.rb:385:in
>>> `with_around_and_singleton_context_hooks'
>>>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
>>> 2.1.0/gems/rspec-core-3.2.0/lib/rspec/core/example.rb:174:in `run'
>>>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
>>> 2.1.0/gems/rspec-core-3.2.0/lib/rspec/core/example_group.rb:548:in
>>> `block in run_examples'
>>>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
>>> 2.1.0/gems/rspec-core-3.2.0/lib/rspec/core/example_group.rb:544:in `map'
>>>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
>>> 2.1.0/gems/rspec-core-3.2.0/lib/rspec/core/example_group.rb:544:in
>>> `run_examples'
>>>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
>>> 2.1.0/gems/rspec-core-3.2.0/lib/rspec/core/example_group.rb:512:in `run'
>>>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
>>> 2.1.0/gems/rspec-core-3.2.0/lib/rspec/core/runner.rb:110:in `block (3
>>> levels) in run_specs'
>>>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
>>> 2.1.0/gems/rspec-core-3.2.0/lib/rspec/core/runner.rb:110:in `map'
>>>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
>>> 2.1.0/gems/rspec-core-3.2.0/lib/rspec/core/runner.rb:110:in `block (2
>>> levels) in run_specs'
>>>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
>>> 2.1.0/gems/rspec-core-3.2.0/lib/rspec/core/configuration.rb:1526:in
>>> `with_suite_hooks'
>>>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
>>> 2.1.0/gems/rspec-core-3.2.0/lib/rspec/core/runner.rb:109:in `block in
>>> run_specs'
>>>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
>>> 2.1.0/gems/rspec-core-3.2.0/lib/rspec/core/reporter.rb:62:in `report'
>>>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
>>> 2.1.0/gems/rspec-core-3.2.0/lib/rspec/core/runner.rb:108:in `run_specs'
>>>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
>>> 2.1.0/gems/rspec-core-3.2.0/lib/rspec/core/runner.rb:86:in `run'
>>>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
>>> 2.1.0/gems/rspec-core-3.2.0/lib/rspec/core/runner.rb:70:in `run'
>>>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
>>> 2.1.0/gems/rspec-core-3.2.0/lib/rspec/core/runner.rb:38:in `invoke'
>>>      # /Users/user_name/.rbenv/versions/2.1.5/lib/ruby/gems/
>>> 2.1.0/gems/rspec-core-3.2.0/exe/rspec:4:in `<top (required)>'
>>>      # /Users/user_name/.rbenv/versions/2.1.5/bin/rspec:23:in `load'
>>>      # /Users/user_name/.rbenv/versions/2.1.5/bin/rspec:23:in `<main>'
>>>      #
>>>      #   Showing full backtrace because every line was filtered out.
>>>      #   See docs for RSpec::Configuration#backtrace_exclusion_patterns
>>> and
>>>      #   RSpec::Configuration#backtrace_inclusion_patterns for more
>>> information.
>>>
>>> Help pls...
>>>
>>  --
> You received this message because you are subscribed to the Google Groups
> "rspec" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/rspec/02123571-772f-4e12-bfcb-d555fc43f188%40googlegroups.com
> <https://groups.google.com/d/msgid/rspec/02123571-772f-4e12-bfcb-d555fc43f188%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"rspec" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rspec/CAKCESdj6Zz_cYsDSEL7VSwfxXyMr-tCg--hzxHpZeYKnK_FYHg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to