楽しむ者に如かず。

カタチに残したい。CREATORになるための勉強。最後に書いてあるのはスヌーピーの名言です。

プログラミングド素人のRuby on Railsチュートリアル成長日記 (第4回)チュートリアル第3章前半

こんにちは。大学生のyousukeです。

今日のは備忘録的な。感じです。

 

挑戦している環境

railstutorial.jp

現在、このサイトをみながら独学でRuby on Rails勉強中です。

パソコン    :windows7

ruby           :2.1.5

プログラミング歴:1ヶ月

 

前回まで

yosuke0414.hatenablog.com

 第2章らくらくクリアしました。

 

今回は第3章です。

 

第3章

第3章。静的なページ作ったり。rspecでテストしたり。

 

つまずいたところまとめていきます。

 

rspecコマンドでのエラー。

アプリを使う一連の流れをシミュレーションするためのテスト。

テストをするためのコマンド「rspec

「失敗→実装→成功」

「red→green→refactor」

 

このrespecコマンドをした時のエラーです。

bundle exec rspec spec/requests/static_pages_spec.rb

respecコマンドを打ち込むと、こんなエラーがでました。

 f:id:yosuke0414:20150523031033j:plain

Warning:you should require 'minitest/autorun' instead.
Warning: or add 'gem "minitest"' before 'require "minitest/autorun"'

”minitest"とか、一度も弄った記憶ないんだけどな~。なんで、エラーするんだろうな~。

 

一応、テストは作動します。

が、

テストするたびに、このエラーをコマンドプロンプトに吐かれてもイライラしかしないので解消していきます。

 

解消法

2014-03-08 - nakaearthの日記

Warning regarding minitest/unit when used with rails 4.1.0.beta1 · Issue #408 · thoughtbot/shoulda-matchers · GitHub

このサイトを参考にしました。

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'

こうする。

 f:id:yosuke0414:20150523031129j:plain

変更を保存して、

それ、

 bundle exec rspec spec/requests/static_pages_spec.rb

 

そうすると、、、、

 f:id:yosuke0414:20150523031156j:plain

ありゃ?エラー直ってない。別の方法に挑戦します。

 

解決法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

 

ドキドキ、、、、、

 f:id:yosuke0414:20150523031646j:plain

成功です(・ω・)ノ

 

Syntax errorを吐くようになる

次のエラー。

syntax errorです。

エディタでアプリを弄ってたら、Railsインストラーがこんなエラーを出すようになりました。

 f:id:yosuke0414:20150523031312j:plain

解消します。

解消法

Rubyで関数を使ってみる - van勉だぃありぃ〜

このサイトを参考にしました。

 

要は、このエラーはファイルの「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