スポンサーリンク

Ruby on Railsのfixturesを,Excelから生成しよう (テストデータを管理しやすくするためのマクロ)

〜書き途中〜



Ruby on Railsのテストの書き方 (モデルの単体テストと,コントローラの機能テスト)
http://language-and-engineering.hatenablog.jp/entry/20091023/p1

テストデータやテストケースを作る際,下記のような要望が生じる。

  • yaml形式のfixturesではなく,もっと管理しやすい+編集しやすいファイル形式でテストデータを作りたい。
    • Excelでテストデータを書きたい。
      • Excelならテーブル内のカラム追加・削除・名称変更が容易になる。yamlだと大変。
      • Excelなら類似したレコードを大量に作るのが簡単。オートフィル機能を使えるから。
  • テストデータとして同じデータを繰り返し書かなくてすむように,テストデータ間の include を行ないたい。
    • →テストデータのDRY化。変更発生時のメンテも容易にしたい。
  • 1つのモデル/コントローラのテストのために,複数パターンのテストデータを利用したい。
    • →テストデータを分割し,テストデータのセットを複数持ちたい。
      • もしDBの状態を1通りに限定してしまったら,十分なテストはできない。状態を網羅できない。
      • チーム作業時に,もしテストデータが1セットだけではコンフリクトが多発し,管理不能になる。
  • テストデータにマイグレーションを利用したい。
    • →テストの事前セットアップとして,動的なテーブル生成+カラム操作が可能になる。



  • Excelからfixturesを生成する
  • Excelから他のExcelを include 可能(⇒同じデータを繰り返し書かなくてよい。テストデータのDRY)
続きを読む