rails テストコードについて
Ruby on Railsでアプリを作成した際の動作テストについて、新しい用語が多く覚えきれないのでちょっとずつまとめてみます。
●テストとは
作成したアプリケーションが正常に動作するか、テストコードを記述して確認をするもの。手動でも確認はできるが、「人為的なミスが生じる可能性」「仕様が変わった際の対応」「記録が残らないことのリスク」などがあるため、テストコードを記述して挙動確認する必要性がある。Ruby on Railsにおけるテストコードの記述はRSpecというGemを用いて行われる事が多い。
●テストコードのパターン
・正常系
「ユーザーが開発者の意図する操作を行った時の挙動」を確認するテストコード
・異常系
「ユーザーが開発者の意図しない操作を行った時の挙動」を確認するテストコード
※他にもありますがここでは割愛します。
●テストコードの種類
・単体テストコード
モデルやコントローラーなどの機能ごとに問題がないか確認するためのもの。
・結合(統合)テストコード
ユーザーがブラウザで操作する一連の流れを再現して間違いがないかどうか確認するためのもの。
こういったテストを行う事でアプリの挙動を確かめてから全てのアプリは世に出ているという事になります。
テストコード記述時に使う用語などはまた次回。。。
Ruby on Rails学習中
梅雨も開けず気がついたら7月も終わり。毎日パソコンとにらめっこしているのであんまり外に出てないけど、そろそろ晴れてもいいんじゃない?7月の平均日照時間とか現段階で約2時間弱っぽいし...
そんなじめっとした日が続く中、先週からRuby on Railsの基礎的な事や簡単なチャットアプリを作ってみようという事でカリキュラムを進めています。railsを学んでいく上で基本的な概念をしっかり理解しておくと、自分の中にスムーズに入ってくるのかなと。
Ruby on Rails 基本概念
そもそもrailsとは?
→プログラミング言語であるRubyを使用してwebアプリケーションを構築するフレームワーク。詳しくは勉強中。。
DRY(Don't Repeat Yourself:同じ事を繰り返さない)
同じ表記を繰り返さない事で、エラーやバグを最小限にしていく。なのでこれ同じ事書いているなとかあれば、簡単に表記する方法が恐らくあるはず
CoC(Convention Over Configuration:設定よりも規約を優先する)
webアプリケーションに置いて最適と考えられるものを規約としてデフォルト設定されている。すでに楽な方法が用意されている的な事か?ここも勉強中。
MVC(Model, View, Controller)
Railsにはルーティング、コントローラー、モデル、ビューという役割がある。
ルーティング → クライアントから受けたリクエストをコントローラーに渡す役目。
お客さん(クライアント)から受けた注文(リクエスト)を厨房(コントローラー)に伝えるウェイターみたいな感じかな?
コントローラー → ルーティングから受け取ったリクエストに対するアクションを予め用意しておき、クライアントにレスポンスする役割。
厨房で食材(モデル)や盛り付け(ビュー)を用意し提供するみたいな。
モデル → データベースと情報のやりとりを行う場所。受け取ったリクエストを元に必要なデータを用意する。
ビュー → レスポンスする際の見た目を決める場所。
この辺りをしっかり理解しておくと、アプリ作成をしているときに、だからコントローラーにこの記述をするんだ!とか、モデルを作成した時にマイグレーションファイルも一緒にできるんだとか理解がしやすい。(今のところだけど)
1つ1つメソッドとか覚えるのも大事だけど、根本的なところを理解しないといけないなと日々感じてます。。
このまま継続していこう!