プログラミングド素人のRuby on Railsチュートリアル成長日記 (第4回)チュートリアル第3章前半
こんにちは。大学生のyousukeです。
今日のは備忘録的な。感じです。
挑戦している環境
現在、このサイトをみながら独学でRuby on Rails勉強中です。
パソコン :windows7
ruby :2.1.5
プログラミング歴:1ヶ月
前回まで
第2章らくらくクリアしました。
今回は第3章です。
第3章
第3章。静的なページ作ったり。rspecでテストしたり。
つまずいたところまとめていきます。
rspecコマンドでのエラー。
アプリを使う一連の流れをシミュレーションするためのテスト。
テストをするためのコマンド「rspec」
「失敗→実装→成功」
「red→green→refactor」
このrespecコマンドをした時のエラーです。
bundle exec rspec spec/requests/static_pages_spec.rb
respecコマンドを打ち込むと、こんなエラーがでました。
Warning:you should require 'minitest/autorun' instead.
Warning: or add 'gem "minitest"' before 'require "minitest/autorun"'
”minitest"とか、一度も弄った記憶ないんだけどな~。なんで、エラーするんだろうな~。
一応、テストは作動します。
が、
テストするたびに、このエラーをコマンドプロンプトに吐かれてもイライラしかしないので解消していきます。
解消法
このサイトを参考にしました。
spec/spec_helper.rbに
require 'minitest/autorun'の1文を追加するだけ。
やってみましょう。
spec/spec_helper.rb
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'rspec/autorun'
これを
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'rspec/autorun'
require 'minitest/autorun'
こうする。
変更を保存して、
それ、
bundle exec rspec spec/requests/static_pages_spec.rb
そうすると、、、、
ありゃ?エラー直ってない。別の方法に挑戦します。
解決法2
Rails4 - Warning: you should require 'minitest/autorun' instead. と出る - Qiita
gemfileに
gem 'minitest’の一文を追加する。
「bundle installの悪夢」があるので、あんまりgemfile触りたくないんですけどね。
致し方ない。
改善していきます。
gemfile
group :development, :test do
gem 'sqlite3'
gem 'rspec-rails', '2.13.1'
end
これを
group :development, :test do
gem 'sqlite3'
gem 'rspec-rails', '2.13.1'
gem 'minitest'
end
こうする。
2度目の挑戦。
ほれ、
bundle exec rspec spec/requests/static_pages_spec.rb
ドキドキ、、、、、
成功です(・ω・)ノ
Syntax errorを吐くようになる
次のエラー。
syntax errorです。
エディタでアプリを弄ってたら、Railsインストラーがこんなエラーを出すようになりました。
解消します。
解消法
このサイトを参考にしました。
要は、このエラーはファイルの「end」とかが抜けてると発生するみたいなんですね~。
自分のエディタでよくみてみると、、
it "should have the right title" do
visit '/static_pages/home'
expect(page).to have_title("Ruby on Rails Tutorial Sample App | Home")
end
end
end
あ、end1個多い。
it "should have the right title" do
visit '/static_pages/home'
expect(page).to have_title("Ruby on Rails Tutorial Sample App | Home")
end
end
これで解決。
secret_token.rbがみつからない。
このエラー実はまだ解決してないです。
config/intializers/secret_token.rbがあるはずなのに
私のアプリには存在しない。
実は、railsアップデートしたら、
仕様が変わってしまったみたいなんですね。
config/intializers/secret_token.rb
が
config/secret.yml
になりました。
場所が変わったのはいいですが、設定の仕方をいくら調べてもわからん。
今日は諦めました。明日挑戦します。
今日進んだところ
第3章は8割方終了しました。
これでwindows8が進んでたところまでは追い抜かした。
明日で、secret.yml攻略と
第3章クリア目指したい。
yosuke