初心者の質問があります:-)
私はアプリを「作成」しており、M。Hartlのチュートリアルを使用して作成しています。しかし、routes.rbを変更することにしたので、いくつか問題があります。質問はすでに投稿されているのは知っていますが、答えがうまくいかないので、新しい質問をする必要があると思いました...
コードは次のとおりです。
config / routers.rb
root to: 'static_pages#home'
match '/help', to: 'static_pages#help'
match '/contact', to: 'static_pages#contact'
match '/about', to: 'static_pages#about'
spec / requests / static_pages.rb
require 'spec_helper'
describe "Static pages" do
let(:base_title) { "Vidons" }
describe "Home page" do
visit root_path
it "should have the h1 'Vidons'" do
page.should have_selector('h1', :text => 'Vidons')
end
it "should have the base title" do
page.should have_selector('title', :text => "#{base_title}")
end
end
describe "Help page" do
visit help_path
it "should have the h1 'Aide'" do
page.should have_selector('h1', :text => 'Aide')
end
it "should have the title 'Aide'" do
page.should have_selector('title', :text => "#{base_title} | Aide")
end
end
describe "About page" do
visit about_path
it "should have the h1 'A propos'" do
page.should have_selector('h1', :text => 'A propos')
end
it "should have the title 'A propos'" do
page.should have_selector('title', :text => "#{base_title} | A propos")
end
end
describe "Contact page" do
visit contact_path
it "should have the h1 'Contact'" do
page.should have_selector('h1', :text => 'Contact')
end
it "should have the title 'Contact'" do
page.should have_selector('title', :text => "#{base_title} | Contact")
end
end
end
spec / spec_helper.rb
(Rspec.configureブロックの1つを削除し、spork prerunブロック内にあるものを保持しました)
require 'rubygems'
require 'spork'
#uncomment the following line to use spork with the debugger
#require 'spork/ext/ruby-debug'
Spork.prefork do
# Loading more in this block will cause your tests to run faster. However,
# if you change any configuration or code from libraries loaded here, you'll
# need to restart spork for it take effect.
ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'rspec/autorun'
# Requires supporting ruby files with custom matchers and macros, etc,
# in spec/support/ and its subdirectories.
Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
RSpec.configure do |config|
# == 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
config.mock_with :rspec
# 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 = true
# 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
end
end
Spork.each_run do
# This code will be run each time you run your specs.
end
そして、これがrspec-guardの応答です:
10:07:46-情報-非推奨警告::versionオプションは非推奨になりました。RSpec2のみがサポートされるようになりました。
10:07:46-情報-GuardはLibnotifyを使用して通知を送信します。
10:07:46-情報-GuardはTerminalTitleを使用して通知を送信します。
10:07:46-情報-RSpecのSporkを開始しています
RSpecの使用
Rails環境のプリロード
Spork.preforkブロックを読み込んでいます...
Rack :: File headersパラメーターは、Rack1.5以降のcache_controlを置き換えます。
Sporkは準備ができており、8989でリッスンしています!
10:07:53-情報-RSpecのSporkサーバーが正常に開始されました
10:07:53-情報-Guard::RSpecが実行されています
10:07:53-情報-すべての仕様を実行
args ["--drb"、 "-f"、 "progress"、 "-r"、"/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/guard-rspec-を使用してテストを実行する2.4.0 / lib / guard / rspec / formatter.rb "、" -f "、" Guard :: RSpec :: Formatter "、" --failure-exit-code "、" 2 "、"spec"]。 。
発生した例外:#>
バックトレース:
/home/flokate/Rubyrails/vidons/spec/requests/static_pages_spec.rb:8:in `block(2 level)in '
/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.12.2/lib/rspec/core/example_group.rb:244:in `module_eval '
/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.12.2/lib/rspec/core/example_group.rb:244:in `subclass '
/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.12.2/lib/rspec/core/example_group.rb:230:in `describe '
/home/flokate/Rubyrails/vidons/spec/requests/static_pages_spec.rb:7:in `block in '
/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.12.2/lib/rspec/core/example_group.rb:244:in `module_eval '
/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.12.2/lib/rspec/core/example_group.rb:244:in `subclass '
/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.12.2/lib/rspec/core/example_group.rb:230:in `describe '
/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.12.2/lib/rspec/core/dsl.rb:18:in `describe '
/home/flokate/Rubyrails/vidons/spec/requests/static_pages_spec.rb:3:in `'
/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:245:in `load '
/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:245:in `block in load'
/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:236:in `load_dependency '
/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:245:in `load '
/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.12.2/lib/rspec/core/configuration.rb:789:in `block in load_spec_files '
/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.12.2/lib/rspec/core/configuration.rb:789:in `each '
/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.12.2/lib/rspec/core/configuration.rb:789:in `load_spec_files '
/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.12.2/lib/rspec/core/command_line.rb:22:in `run '
/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/spork-0.9.2/lib/spork/test_framework/rspec.rb:11:in `run_tests '
/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/spork-0.9.2/lib/spork/run_strategy/forking.rb:13:in `block in run '
/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/spork-0.9.2/lib/spork/forker.rb:21:in `block in initialize'
/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/spork-0.9.2/lib/spork/forker.rb:18:in `fork '
/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/spork-0.9.2/lib/spork/forker.rb:18:in `initialize '
/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/spork-0.9.2/lib/spork/run_strategy/forking.rb:9:in `new '
/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/spork-0.9.2/lib/spork/run_strategy/forking.rb:9:in `run '
/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/spork-0.9.2/lib/spork/server.rb:48:in `run '
/home/flokate/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/drb/drb.rb:1548:in `perform_without_block '
/home/flokate/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/drb/drb.rb:1508:in `perform '
/home/flokate/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/drb/drb.rb:1586:in `block(2 level)in main_loop '
/home/flokate/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/drb/drb.rb:1582:in `loop '
/home/flokate/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/drb/drb.rb:1582:in `block in main_loop '
終わり。
DEPRECATION WARNINGのため、興味のある最後のgemを使用するために、Gemfileを調べ、バージョン番号を削除しました。
group :development, :test do
gem 'sqlite3', '1.3.5'
gem 'rspec-rails'
gem 'guard-rspec'
gem 'guard-spork'
gem 'spork'
end
それは私にそれを与えます:
Fetching gem metadata from https://rubygems.org/.........
Fetching gem metadata from https://rubygems.org/..
Using rake (10.0.3)
Using i18n (0.6.1)
Using multi_json (1.6.0)
Using activesupport (3.2.12)
Using builder (3.0.4)
Using activemodel (3.2.12)
Using erubis (2.7.0)
Using journey (1.0.4)
Using rack (1.4.5)
Using rack-cache (1.2)
Using rack-test (0.6.2)
Using hike (1.2.1)
Using tilt (1.3.3)
Using sprockets (2.2.2)
Using actionpack (3.2.12)
Using mime-types (1.21)
Using polyglot (0.3.3)
Using treetop (1.4.12)
Using mail (2.4.4)
Using actionmailer (3.2.12)
Using arel (3.0.2)
Using tzinfo (0.3.35)
Using activerecord (3.2.12)
Using activeresource (3.2.12)
Using annotate (2.5.0)
Using bcrypt-ruby (3.0.1)
Using bootstrap-sass (2.1.0.0)
Using bundler (1.2.3)
Using nokogiri (1.5.6)
Using ffi (1.3.1)
Using childprocess (0.3.8)
Using rubyzip (0.9.9)
Using websocket (1.0.7)
Using selenium-webdriver (2.29.0)
Using xpath (0.1.4)
Using capybara (1.1.2)
Using coderay (1.0.8)
Using coffee-script-source (1.4.0)
Using execjs (1.4.0)
Using coffee-script (2.2.0)
Using rack-ssl (1.3.3)
Using json (1.7.7)
Using rdoc (3.12.1)
Using thor (0.17.0)
Using railties (3.2.12)
Using coffee-rails (3.2.2)
Using diff-lcs (1.1.3)
Using factory_girl (4.1.0)
Using factory_girl_rails (4.1.0)
Using listen (0.7.2)
Using lumberjack (1.0.2)
Using method_source (0.8.1)
Using slop (3.4.3)
Using pry (0.9.12)
Using terminal-table (1.4.5)
Using guard (1.6.2)
Using rspec-core (2.12.2)
Using rspec-expectations (2.12.1)
Using rspec-mocks (2.12.2)
Using rspec (2.12.0)
Using guard-rspec (2.4.0)
Using spork (0.9.2)
Using guard-spork (1.4.2)
Using jquery-rails (2.0.2)
Using libnotify (0.5.9)
Using rails (3.2.12)
Using rb-inotify (0.8.8)
Using rspec-rails (2.12.2)
Using sass (3.2.5)
Using sass-rails (3.2.5)
Using sqlite3 (1.3.5)
Using uglifier (1.2.3)
Your bundle is updated! Use `bundle show [gemname]` to see where a bundled gem is installed.
そして、それは何も変わりませんでした...私は現時点ではあまり理解していませんが、あなたの一人が私に光をもたらすことを願っています;-)