【13日目】【1日20分のRailsチュートリアル】静的なページの調整~テストコード実行
今日は「3.2.2 静的なページの調整」から。
3.2.2 静的なページの調整
HomeページとHelpページの内容を少し書き換え。
ただのHTMLです。
app/views/static_pages/home.html.erb
<h1>Sample App</h1> <p> This is the home page for the <a href="http://www.railstutorial.org/">Ruby on Rails Tutorial</a> sample application. </p>
app/views/static_pages/help.html.erb
<h1>Help</h1> <p> Get help on the Ruby on Rails Tutorial at the <a href="http://railstutorial.jp/help">Rails Tutorial help section</a>. To get help on this sample app, see the <a href="http://railstutorial.jp"><em>Ruby on Rails Tutorial</em> book</a>. </p>
表示も問題なし。
Homeページ
Helpページ
チュートリアルには書いてないけどページ変更をコミットしておく。
(こまめにコミットしておきたい派)
$ git add -A
$ git commit -m "Change a Static Pages"
$ git push -u origin static-pages
3.3 テストから始める
次はAboutページの追加だが、ここで「自動化テスト」について説明。
テストを作成するような開発は普段しないのでこの辺は一から学習することになるなぁ。
説明読んだけどイマイチピンとこない。。。
実際にテスト書いてみたら分かるかな?
3.3.1 最初のテスト
Aboutページ追加はテストコードを先行で書く方針。
ただその前にHomeとHelpのテストコードを確認する。
rails generate controller
実行時点でテストコードも自動で生成されていたそう。
test/controllers/static_pages_controller_test.rb
require 'test_helper' class StaticPagesControllerTest < ActionController::TestCase test "should get home" do get :home assert_response :success end test "should get help" do get :help assert_response :success end end
HomeページとHelpページに対してGETリクエストしたらレスポンスはsuccessになるはず、なテストらしい。
rake
コマンドでテスト実行。
$ bundle exec rake test RubyDep: WARNING: Your Ruby is outdated/buggy. (To disable warnings, set RUBY_DEP_GEM_SILENCE_WARNINGS=1) RubyDep: WARNING: Your Ruby is: 2.3.0 (buggy). Recommendation: install 2.3.1. DEPRECATION WARNING: Sprockets method `register_engine` is deprecated. Please register a mime type using `register_mime_type` then use `register_compressor` or `register_transformer`. https://github.com/rails/sprockets/blob/master/guides/extending_sprockets.md#supporting-all-versions-of-sprockets-in-processors (called from block (2 levels) in <class:Railtie> at /usr/local/rvm/gems/ruby-2.3.0/gems/sass-rails-5.0.2/lib/sass/rails/railtie.rb:57) DEPRECATION WARNING: Sprockets method `register_engine` is deprecated. Please register a mime type using `register_mime_type` then use `register_compressor` or `register_transformer`. https://github.com/rails/sprockets/blob/master/guides/extending_sprockets.md#supporting-all-versions-of-sprockets-in-processors (called from block (2 levels) in <class:Railtie> at /usr/local/rvm/gems/ruby-2.3.0/gems/sass-rails-5.0.2/lib/sass/rails/railtie.rb:58) RubyDep: WARNING: Your Ruby is outdated/buggy. (To disable warnings, set RUBY_DEP_GEM_SILENCE_WARNINGS=1) RubyDep: WARNING: Your Ruby is: 2.3.0 (buggy). Recommendation: install 2.3.1. DEPRECATION WARNING: Sprockets method `register_engine` is deprecated. Please register a mime type using `register_mime_type` then use `register_compressor` or `register_transformer`. https://github.com/rails/sprockets/blob/master/guides/extending_sprockets.md#supporting-all-versions-of-sprockets-in-processors (called from block (2 levels) in <class:Railtie> at /usr/local/rvm/gems/ruby-2.3.0/gems/sass-rails-5.0.2/lib/sass/rails/railtie.rb:57) DEPRECATION WARNING: Sprockets method `register_engine` is deprecated. Please register a mime type using `register_mime_type` then use `register_compressor` or `register_transformer`. https://github.com/rails/sprockets/blob/master/guides/extending_sprockets.md#supporting-all-versions-of-sprockets-in-processors (called from block (2 levels) in <class:Railtie> at /usr/local/rvm/gems/ruby-2.3.0/gems/sass-rails-5.0.2/lib/sass/rails/railtie.rb:58) /home/ubuntu/workspace/sample_app/db/schema.rb doesn't exist yet. Run `rake db:migrate` to create it, then try again. If you do not intend to use a database, you should instead alter /home/ubuntu/workspace/sample_app/config/application.rb to limit the frameworks that will be loaded. Run options: --seed 45452 # Running: .. Finished in 1.027363s, 1.9467 runs/s, 1.9467 assertions/s. 2 runs, 2 assertions, 0 failures, 0 errors, 0 skips
テストは問題なし。
めっちゃWARNING出てるけどやっぱりそっとしておく。
Rubyとかのバージョンが指定できてないのかな。。。。
テスト通ったので今日はここまで。
今日の作業時間は【28分】。
次は「3.3.2 Red」から。