RSpec とは

RSpec とは

RSpec とは、Ruby における BDD (behavior driven development、ビヘイビア駆動開発) のためのテストフレームワークです。 BDD という言葉に聞き慣れないかもしれませんが、 テストコードを、自然言語を用いて要求仕様のように (Spec = 仕様) 記述するための手法です。

テストコードを書く意義

  • 全体のテスト工数削減
  • テスト対象コードの品質向上
  • テスト対象コードの粒度の見直し
  • 後々リファクタリングしやすくなる
  • Ruby のような動的型付け言語の場合、ちょっとしたミスが実行時例外を生むため、基本的なパスを通すテストが必要

テストコードを書くにあたって意識すること

  • テストコードをなるべく簡単にかけるように工夫する

    • テスト実行に必要なデータを準備する処理をまとめる、等
    • DRY はここでも活かす
    • ただし、必要以上にキレイに書く必要はありません
  • テスト対象コードの責務を意識する

    • 本来テストしたいことと関係のないデータをセットアップしないとテストが通せない場合、コードの責務が間違っている可能性があります
    • テスト対象コードの責務以外の箇所についてはモック/スタブを利用しましょう
  • メンテできなくなったら最悪捨てることも想定して、とりあえずテストを積んでいきましょう

results matching ""

    No results matching ""