Hitsuji_monのブログ~ 村上春樹のあれ ~

文学好きな組み込み系エンジニア

【#100DaysOfCode】Day22 「Railsチュートリアル」 第3章 masterブランチへのマージ

ちょいちょい詰まったとこがあったので、メモ。
詳しい部分は飛ばして、とりあえず終わらすことを目標にしてると、やっぱりこういう事態になるな。
今はそれでよし!

Day21

Railsチュートリアル」 3章 ほぼ静的なページの作成



railsテストの際に、テストは成功してるけどエラーが出る

  • $ rails t を実行すると、以下のエラーが発生
Traceback (most recent call last): ~~~
    • 原因:tmuxは端末多重化ソフトウェア の部分が原因

Cloud9は一つのターミナルで複数のターミナルを切り替えることができる

  • 解決法: tmuxをインストール
$ sudo yum install -y tmux

qiita.com





Error: htmlのビューを変更(homeとhelp部分)しても、previw画面に影響が出ていない

引用:gitのマージの仕方

  • 原因:トピックブランチで作業していたものをコミットし、masterブランチにマージしないと反映されない
$ git add -A
$ git commit -m "Finish static pages"
$ git checkout master
$ git merge static-pages

# マージしたら、git pushでリモートリポジトリにアップロード
$ git push
# herokuにもデプロイ
$ rails test
$ git push heroku
デプロイ前にテストしておく習慣をつける


wealthlabo.com




Error:テストスイートした時に、[test_should_get_home is already defined in StaticPagesControllerTest]と出てエラーになる
  • テスト内容 /test/controllers/static_pages_controller_test.rb を間違ってappのcontoroller /app/controllers/static_pages_controllers.rbにも書いていたことが原因。
    • 二重にテスト内容を書き, app/controllers の中身が消えていた。

元に戻したら、エラーが消えた




Error: uninitialized constant StaticPagesControllerTest::FILL_IN がでる


3章の最後に$ rails t したら、上記エラーメッセージが出る
uninitialized constant StaticPagesControllerTest::FILL_IN
test/controllers/static_pages_controller_test.rb:6:in `block in '
# 意味:StaticPagesControllerTestクラスのFILL_INは、初期化されていない定数ですよ

# コードを以下に直す
require 'test_helper'

class StaticPagesControllerTest < ActionDispatch::IntegrationTest

  test "should get root" do
    get FILL_IN     #    < root_url   に直す
    assert_response FILL_IN    # :successに直す
  end

  test "should get home" do
    get static_pages_home_url
    assert_response :success
  end

  test "should get help" do
    get static_pages_help_url
    assert_response :success
  end

  test "should get about" do
    get static_pages_about_url
    assert_response :success
  end
end

rakuda3desu.net