katotatsu1213のブログ

プログラミング学習の過程を記録しようと思います

お疲れ様です!

昨日は学んだことの復習を少し行いました!

 

テストコードについてです。

テストコードとはアプリケーションの挙動を確認するためのコードです。

テストコードを書く際は、RSpec(アールスペック)というRuby on Railsのテストコードを書くためのGemを用います。また、テストコードにはパターンがあり正常系と異常系に分かれます。

正常系はユーザーが開発者の意図する操作を行った時の挙動を確認するもので、異常系はその逆でユーザーが開発者の意図しない操作を行った時の挙動を確認するものになります。

 

また、テストコードには単体テストコードと結合テストコードの大きく分けて2種類あり、単体テストコードではモデルやコントローラーなどの機能ごとに問題がないかを確認することができます。

結合テストコードでは、ユーザーがブラウザで操作する一連の流れを再現して、問題がないか確かめます。

作業の流れとしてはまずはGemをアプリケーションに導入し、.rspecに設定を追加します。

rails g rspec:model テストしたいモデル名

を実行してテストファイルを生成します。

また、生成されたファイルの1行目にrails_helperという記述がありますがこれは機能テストをする際に、共通の設定を書いておくファイルです。各テスト用ファイルでspec/rails_helper.rbを読み込むことで、共通の設定やメソッドを適用します。

 

テストコードについて先の用語のアウトプットを先にして次回から本格的に手順をアウトプットしようと思います。

 

describe(ディスクライブ)

テストコードのグループ分けを行うメソッドです。どの機能に対してのテストを行うかをグループ分けして、その中に各テストコードを記述していきます。

do~endの中でさらに入れ子構造を取ることもできます。

 

it

itメソッドはdescribe(ディスクライブ)メソッド同様にグループ分けを行うメソッドです。itの場合はより詳細に、describeメソッドに記述した機能において、どのような状況のテストを行うかを明記します。また、itメソッドで分けたグループをexampleとも呼びます。

 

example(イグザンプル)

itで分けたグループまたは、内容のことを指す場合もあります。

 

以上のものを記述してどの機能に対するテストコードなのかを記述していきます。

これはテストコードを実際にやってみた時の感想ですがこの時かなりエラー文が読めるようになった気がしました。

前に話した写真投稿型アプリケーションでテストコードを記述したおかげで機能の把握がしやすくまたターミナルに毎回と言っていい程エラーが表示されていたのでエラーを体験する機会が増えて数日前よりかは、かなり成長を実感したのを覚えています。

プログラミングは挫折する方が多いと聞くので逆にエラーなど起きたら喜んで解決のためのアクションをして一つでも多く自分の知識として吸収できたらいいと考えています。

 

ではまた!