Rubyの参考書を読みながらの勉強。
今回はテストの意味とその必要性について
##テストの意味
自分の書いたプログラムの動作を自動的に確認するためのもの。
テストコードを自分で書く手間があるが、一度しっかり書いてしまえば
テストファイルを実行するだけで対象のプログラムの挙動をチェックしてくれる。
##テストの必要性
自分の書いたプログラムは当然動作の確認が必要となる。
しかし、テストプログラムが無いと目視での確認となる。
人力でやると疲れるしミスもするし文句も言いたくなるから黙って黙々作業する
PCにお任せすれば全て丸くおさまる。
次いで各機能ごとに必ず必要な挙動、アルゴリズムをテストに落としこんでおくと
後に改修作業やリファクタリングをした後テストを実行し、パスすればその機能は少なくとも
確保されているから元の機能を損なわずに改修、改造等できる。
以下に自分が感じたテストの必要性をまとめる。
- サービスの機能確保(改修による突然のバグを未然に防げる)
- 機能の確認の自動化
- 工数を結果的に抑えることができる
##テストコードの実装
簡単なテストコードの実装準備について
1、テスト用のgemをインストール(筆者はminitestを使用)
gem install minitest バージョン
.rb形式のファイルで以下を記入
対象のクラスに Minitest::Testを継承する
↓
assert等のテスト用のメソッドがが使えるようになる
※テスト名は必ずtestで始まる必要がある。
class クラス名 < Minitest::Test
def テスト名
end
end
テスト用のプログラムは本プログラムがあるファイルとは別にテスト用のファイルに
保存するのが綺麗なコードを書くポイント。