thx, my spec_helper.rb :
# This file is copied to spec/ when you run 'rails generate rspec:install'
ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
#require 'rspec/autorun'
require 'capybara/rspec'
require 'faker'
require 'capybara/rails'
require 'vcr'
require 'webmock/rspec'
# Requires supporting ruby files with custom matchers and macros, etc,
# in spec/support/ and its subdirectories.
Dir[Rails.root.join("spec/support/**/*.rb"),Rails.root.join("spec/features/**/*.rb")].each
{ |f| require f }
# Checks for pending migrations before tests are run.
# If you are not using ActiveRecord, you can remove this line.
#ActiveRecord::Migration.check_pending! if defined?(ActiveRecord::Migration)
#Capybara::Selenium::Driver.new(app,:browser => :chrome)
VCR.configure do |c|
c.allow_http_connections_when_no_cassette = true
c.cassette_library_dir = 'spec/cassettes' #this specified the directory
for placing the record files
c.hook_into :webmock
c.configure_rspec_metadata!
c.default_cassette_options = {
:record => :new_episodes
}
end
RSpec.configure do |config|
config.include Capybara::DSL
# ## Mock Framework
#
# If you prefer to use mocha, flexmock or RR, uncomment the appropriate
line:
#
# config.mock_with :mocha
# config.mock_with :flexmock
# config.mock_with :rr
# Remove this line if you're not using ActiveRecord or ActiveRecord
fixtures
#config.fixture_path = "#{::Rails.root}/spec/fixtures"
# If you're not using ActiveRecord, or you'd prefer not to run each of
your
# examples within a transaction, remove the following line or assign false
# instead of true.
config.use_transactional_fixtures = false
# If true, the base class of anonymous controllers will be inferred
# automatically. This will be the default behavior in future versions of
# rspec-rails.
config.infer_base_class_for_anonymous_controllers = false
# Run specs in random order to surface order dependencies. If you find an
# order dependency and want to debug it, you can fix the order by
providing
# the seed, which is printed after each run.
# --seed 1234
config.order = "random"
end
在 2015年3月11日星期三 UTC+8上午1:36:26,Aaron Kromer写道:
>
> I setup a sample project with that Gemfile and I cannot reproduce the
> issue. Can you share your spec/spec_helper.rb file? Or point to a public
> repo which has it, or a gist.
>
>
> On Tue, Mar 10, 2015 at 3:28 AM, 顾明 <[email protected] <javascript:>>
> wrote:
>
>> @ Aaron Kromer, thanks for your reply.
>> *My app works well, it only raise that error when run rspec test.*
>> *I added **gem 'factory_girl_rails', '4.2.1' recently, so I thought it
>> is the gem which cause error.*
>> *But after uninstalling it or remove it from gem file, the error still be
>> there.*
>>
>>
>> *My gem file details:*
>>
>>
>>
>>
>>
>>
>>
>>
>> *source 'https://rubygems.org <https://rubygems.org>'gem 'rails',
>> '4.1.8'gem 'uglifier', '>= 1.3.0'gem 'coffee-rails', '~> 4.0.0'gem
>> 'therubyracer', platforms: :rubygem 'less-rails'gem
>> 'twitter-bootstrap-rails', github: 'seyhunak/twitter-bootstrap-rails',
>> branch: 'bootstrap3'gem 'nokogiri'gem 'jquery-rails'gem 'jbuilder', '~>
>> 1.2'gem 'haml-rails'gem 'puma'#gem 'dalli'# export excel for reportgem
>> 'zip-zip'gem 'rubyzip', '1.0.0'gem 'axlsx_rails'gem 'aws-sdk'gem
>> 'tinymce-rails'# bundle exec rake doc:rails generates the API under
>> doc/api.gem 'sdoc', require: false, group: :docgroup :development do gem
>> 'better_errors' gem 'pry' gem 'binding_of_caller' #gem
>> 'ruby-prof'endgroup :test do gem 'webmock' gem 'vcr' gem 'capybara', '>=
>> 2.0.3' gem 'selenium-webdriver' gem 'rspec-rails', '>= 2.12.2' gem
>> 'faker' gem 'factory_girl_rails', '4.2.1'end*
>>
>>
>> 在 2015年3月10日星期二 UTC+8上午1:17:56,Aaron Kromer写道:
>>>
>>> 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-activerecord
>>>>> connectionnotestablished
>>>>>
>>>>> I googled "ActiveRecord::ConnectionNotEstablished" and found out that
>>>>> it was a database issue. Found this: http://stackoverflow.com/quest
>>>>> ions/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_adapt
>>>>>> ers/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] <javascript:>.
>> To post to this group, send email to [email protected] <javascript:>
>> .
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/rspec/d0d4ffda-e326-420f-bfd6-897a7507a769%40googlegroups.com
>>
>> <https://groups.google.com/d/msgid/rspec/d0d4ffda-e326-420f-bfd6-897a7507a769%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/b79bb769-6d9a-4f2b-bbb1-fc16ddb8a0f8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.