[アラフォプログラミング未経験]Rubyのテストコード「RSpec」の概念について学ぶ!
結構、四苦八苦しながらカリキュラムを進めてみましたが、
あれ、思ったよりわかるし、重要だなぁと実感。
むしろ機能を実装する際にテストしながら、
コード書いていった方が効率的なんだなと思いました。
わかりやすく書いているサイトを貼りつつ、復習をしていきます。
目次
Railsにおけるテストについて
Ruby on Railsにおいては、基本的にはモデルとコントローラのファイルに対してテストコードを作成します。
その際はRSpecという独自の言語を利用します。
RSpec
RSpecは、Rubyを元に作成されたテストに特化した言語です。
「rspec-rails」というGemをインストールすると、RSpecを利用できます。
テストを書くメリット
基本的に、ひとつのプロダクションコードに対してはひとつのテストコードが必要です。
例えばRuby on Railsにおいては、モデルクラスやコントローラークラスひとつにつきひとつのテストコードを書かなければいけません。
これは面倒に感じるかもしれませんが、
それを補いなお余るほどのメリットも存在します。
それは、主に以下の3つです。
1.仕様漏れを減らすことができる
テストをするにあたっては、対象のメソッドがどのような目的で作成されどんな挙動をしなければいけないのかということを全て洗い出します。
結果的に仕様を良く確認することになり、バグを引き起こす仕様漏れを少なくすることができます。
2.リファクタリングや機能追加をしやすくなる
リファクタリングとは、コードをより綺麗なかたちに修正する作業のことです。
一度テストを通過してしまえば、最終的な結果を維持しリファクタリングをするのが簡単になります。
また、新たな機能を追加する際も、従来の箇所は間違いなく動いていることを確認できているので、
その結果を崩さないようにするだけで安全に実装することができます。
3.楽しくコードを書ける
テストを通過するという快適な体験を重ねることで、コードを書く作業が楽しくなります。
注意力が必要で神経をすり減らしやすいプログラミングという作業において、楽しくコードが書ける、
ということは非常に重要です。
何気に大事なことが書かれているので、囲ってみました。