1

作成したばかりの Ruby Rails アプリケーションに RSpec テストをセットアップしようとしています。このアプリケーションは、はるかに大規模なプロジェクトへのアドオンであり、私はまだ環境にあまり慣れていません。また、RSpec を使用したことがないため、これは基本的な問題である可能性があります。

まず、失敗してはならないいくつかの基本的なテストを作成しました。

require 'spec_helper'
require '../../../lib/release_notes/release_notes_generator'

describe ReleaseNotesGenerator do
  before :each do
    @rng = ReleaseNotesGenerator.new()
  end

  it 'should print hello world' do
    puts "Hello world!"
  end

  describe "#new" do
    it "tests basic rspec syntax" do
      @rng.should be_an_instance_of ReleaseNotesGenerator
    end
  end
end

ただし、これらのテストを実行すると、次のエラーが発生します。

An error occurred in an after(:all) hook.
  Redis::CannotConnectError: Error connecting to Redis on 127.0.0.1:6379 (ECONNREFUSED)
  occurred at /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/redis-3.0.4/lib/redis/client.rb:276:in `rescue in establish_connection'

Redis は RSpec テストにどのように影響しますか? これまでの私の仕事には、Redis がまったく関係していません。いくつか検索しましたが、このエラーに関する他の言及は見つかりません。

ご協力いただきありがとうございます!

編集: これは完全なスタック トレースです (かなり長いです)。

[Zonebie] Setting timezone to "Almaty"

ReleaseNotesGenerator
  should print hello world (FAILED - 1)
  #new
    tests basic rspec syntax (FAILED - 2)

An error occurred in an after(:all) hook.
  Redis::CannotConnectError: Error connecting to Redis on 127.0.0.1:6379 (ECONNREFUSED)
  occurred at /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/redis-3.0.4/lib/redis/client.rb:276:in `rescue in establish_connection'


Failures:

  1) ReleaseNotesGenerator should print hello world
     Failure/Error: Unable to find matching line from backtrace
     Redis::CannotConnectError:
       Error connecting to Redis on 127.0.0.1:6379 (ECONNREFUSED)
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/redis-3.0.4/lib/redis/client.rb:276:in `rescue in establish_connection'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/redis-3.0.4/lib/redis/client.rb:271:in `establish_connection'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/redis-3.0.4/lib/redis/client.rb:69:in `connect'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/redis-3.0.4/lib/redis/client.rb:290:in `ensure_connected'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/redis-3.0.4/lib/redis/client.rb:177:in `block in process'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/redis-3.0.4/lib/redis/client.rb:256:in `logging'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/redis-3.0.4/lib/redis/client.rb:176:in `process'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/redis-3.0.4/lib/redis/client.rb:84:in `call'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/redis-3.0.4/lib/redis.rb:69:in `block in select'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/redis-3.0.4/lib/redis.rb:36:in `block in synchronize'
     # /Users/nadams/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/monitor.rb:211:in `mon_synchronize'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/redis-3.0.4/lib/redis.rb:36:in `synchronize'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/redis-3.0.4/lib/redis.rb:67:in `select'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/redis-namespace-1.2.1/lib/redis/namespace.rb:257:in `method_missing'
     # /Users/nadams/Workspace/orbit-server/spec/spec_helper.rb:47:in `block (2 levels) in <top (required)>'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/rspec-core-2.13.1/lib/rspec/core/hooks.rb:21:in `instance_eval'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/rspec-core-2.13.1/lib/rspec/core/hooks.rb:21:in `run'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/rspec-core-2.13.1/lib/rspec/core/hooks.rb:100:in `run'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/rspec-core-2.13.1/lib/rspec/core/hooks.rb:418:in `run_hook'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/rspec-core-2.13.1/lib/rspec/core/example_group.rb:320:in `block in run_before_all_hooks'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/rspec-core-2.13.1/lib/rspec/core/memoized_helpers.rb:96:in `block in isolate_for_before_all'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/rspec-core-2.13.1/lib/rspec/core/memoized_helpers.rb:92:in `instance_eval'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/rspec-core-2.13.1/lib/rspec/core/memoized_helpers.rb:92:in `isolate_for_before_all'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/rspec-core-2.13.1/lib/rspec/core/example_group.rb:319:in `run_before_all_hooks'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/rspec-core-2.13.1/lib/rspec/core/example_group.rb:370:in `run'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/rspec-core-2.13.1/lib/rspec/core/command_line.rb:28:in `block (2 levels) in run'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/rspec-core-2.13.1/lib/rspec/core/command_line.rb:28:in `map'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/rspec-core-2.13.1/lib/rspec/core/command_line.rb:28:in `block in run'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/rspec-core-2.13.1/lib/rspec/core/reporter.rb:34:in `report'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/rspec-core-2.13.1/lib/rspec/core/command_line.rb:25:in `run'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/rspec-core-2.13.1/lib/rspec/core/runner.rb:80:in `run'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/rspec-core-2.13.1/lib/rspec/core/runner.rb:17:in `block in autorun'

  2) ReleaseNotesGenerator#new tests basic rspec syntax
     Failure/Error: Unable to find matching line from backtrace
     Redis::CannotConnectError:
       Error connecting to Redis on 127.0.0.1:6379 (ECONNREFUSED)
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/redis-3.0.4/lib/redis/client.rb:276:in `rescue in establish_connection'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/redis-3.0.4/lib/redis/client.rb:271:in `establish_connection'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/redis-3.0.4/lib/redis/client.rb:69:in `connect'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/redis-3.0.4/lib/redis/client.rb:290:in `ensure_connected'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/redis-3.0.4/lib/redis/client.rb:177:in `block in process'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/redis-3.0.4/lib/redis/client.rb:256:in `logging'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/redis-3.0.4/lib/redis/client.rb:176:in `process'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/redis-3.0.4/lib/redis/client.rb:84:in `call'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/redis-3.0.4/lib/redis.rb:69:in `block in select'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/redis-3.0.4/lib/redis.rb:36:in `block in synchronize'
     # /Users/nadams/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/monitor.rb:211:in `mon_synchronize'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/redis-3.0.4/lib/redis.rb:36:in `synchronize'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/redis-3.0.4/lib/redis.rb:67:in `select'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/redis-namespace-1.2.1/lib/redis/namespace.rb:257:in `method_missing'
     # /Users/nadams/Workspace/orbit-server/spec/spec_helper.rb:47:in `block (2 levels) in <top (required)>'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/rspec-core-2.13.1/lib/rspec/core/hooks.rb:21:in `instance_eval'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/rspec-core-2.13.1/lib/rspec/core/hooks.rb:21:in `run'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/rspec-core-2.13.1/lib/rspec/core/hooks.rb:100:in `run'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/rspec-core-2.13.1/lib/rspec/core/hooks.rb:418:in `run_hook'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/rspec-core-2.13.1/lib/rspec/core/example_group.rb:320:in `block in run_before_all_hooks'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/rspec-core-2.13.1/lib/rspec/core/memoized_helpers.rb:96:in `block in isolate_for_before_all'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/rspec-core-2.13.1/lib/rspec/core/memoized_helpers.rb:92:in `instance_eval'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/rspec-core-2.13.1/lib/rspec/core/memoized_helpers.rb:92:in `isolate_for_before_all'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/rspec-core-2.13.1/lib/rspec/core/example_group.rb:319:in `run_before_all_hooks'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/rspec-core-2.13.1/lib/rspec/core/example_group.rb:370:in `run'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/rspec-core-2.13.1/lib/rspec/core/command_line.rb:28:in `block (2 levels) in run'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/rspec-core-2.13.1/lib/rspec/core/command_line.rb:28:in `map'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/rspec-core-2.13.1/lib/rspec/core/command_line.rb:28:in `block in run'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/rspec-core-2.13.1/lib/rspec/core/reporter.rb:34:in `report'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/rspec-core-2.13.1/lib/rspec/core/command_line.rb:25:in `run'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/rspec-core-2.13.1/lib/rspec/core/runner.rb:80:in `run'
     # /Users/nadams/.rvm/gems/ruby-2.0.0-p0@orbit/gems/rspec-core-2.13.1/lib/rspec/core/runner.rb:17:in `block in autorun'

Finished in 0.12005 seconds
2 examples, 2 failures

Failed examples:

rspec ./release_notes_spec.rb:11 # ReleaseNotesGenerator should print hello world
rspec ./release_notes_spec.rb:16 # ReleaseNotesGenerator#new tests basic rspec syntax

Randomized with seed 11682
4

0 に答える 0