らくだ🐫にもできるRailsチュートリアル|3.3

3.3 テストから始める

テストのタイミングのガイドライン

  • アプリケーションのコードよりも明らかにテストコードの方が短くシンプルになる (=簡単に書ける) のであれば、「先に」書く
  • 動作の仕様がまだ固まりきっていない場合、アプリケーションのコードを先に書き、期待する動作を「後で」書く
  • セキュリティが重要な課題またはセキュリティ周りのエラーが発生した場合、テストを「先に」書く
  • バグを見つけたら、そのバグを再現するテストを「先に」書き、回帰バグを防ぐ体制を整えてから修正に取りかかる
  • すぐにまた変更しそうなコード (HTML構造の細部など) に対するテストは「後で」書く
  • リファクタリングするときは「先に」テストを書く。特に、エラーを起こしそうなコードや止まってしまいそうなコードを集中的にテストする

リファクタリングとは何ぞ

プログラムの動きは変えずにソースを整理して見やすくする事的な感じ

3.6.1 minitest reporters

テストを実行する前にちょっと先走って
3.6.1に書いてあるこちらの設定をしておきます
テスト結果に色が付くので見やすくなります

2019.05.24
後から気づいたんですがこの内容ってmasterブランチでやっておく様に本文に書いてあるんですね。
なんでだろうって考えたんですが
例えば何かしら理由があってstatic-pagesブランチの内容を丸っと削除してしまうとこの更新も消えてしまうからとか。
(マージ後だとしても、マージを取り消して→ブランチを丸っとなかったことにすると消えますよね)
と、言う訳でブランチを切る前にこの設定をやるようにらくだ🐫にもできるRailsチュートリアル|3.2に移動します。

3.3.1 最初のテスト

rails generate controller StaticPages home helpdeで生成されたテストコード

ではテストを実行してみます

どうやらエラーの模様です
下記サイトを参照に修正します

3.3.2 Red

「失敗するテストを書く→コードを書いて成功させる→必要があればリファクタリング」
この流れに沿ってAboutページを作っていきます

まずはテスト
homeやhelpと同じ内容でアクセス先をaboutに変更

aboutページからレスポンスは成功しないためtestはRED(エラー)
と言うより「/static_pages/aboutへのURLが見つからない(定義されていない)ため、エラー判定が途中でストップしちゃってます」→GREENにならない(便宜上RED)の方が近いっぽい

3.3.3 Green

ルートを追加

ルーティングを指定したことにより
自動的に「static_pages_about_url」が使えるようになる

ヘルパーとは何ぞ

滅茶苦茶ざっくりですが「便利な部品・機能」
例えば上の「static_pages_about_url」は「/static_pages/aboutというURL」を表している

再テストとアクションの追加

再テストとビューの追加

本文に従ってファイルを編集→テストがGREEN

3.3.4 Refactor

本文ママ

まとめとか感想

ちょこちょこ本文にないエラーに遭遇するし
1週目には無かったエラーにもであったりもするけど
エラー文とかで調べれば解決策が出てくるのでありがたいことです

2019.05.24
3.2.2のテストREDの解釈に解釈と言うか理解について
ツイッターで教えてもらったことがあったので追加・修正しました
独学だとどうしても限界があったりするので
新しい気付きを貰えて、とてもありがたく思っています。感謝。

らくだ🐫にもできるRailsチュートリアルとは

「ド」が付く素人のらくだ🐫が勉強するRailsチュートリアルの学習記録です。
自分用に記録していますが、お役に立つことがあれば幸いです。

調べたとはいえらくだ🐫なりの解釈や説明が含まれます。間違っている部分もあるかと思います。そんな所は教えて頂けますと幸いなのですが、このブログにはコメント機能がありません💧お手数おかけしますがTwitterなどでご連絡いただければ幸いです