テストをコケたままにしない理由
はじめに
現在担当しているモバイルアプリゲームではマスターデータのテストを行っています。
- リレーション先のデータが存在しているか
- 入力されているデータが想定しているデータか
- シソーラスのチェック
などヒューマンエラーがおきやすい所、おきた所を防ぐためにマスターデータに対してもテストを行っています。
本題
表題だけみると当たり前のことですが、運用をしていると施策のタイミング変更などやんごとない理由で上記であげたテストがコケる不十分な状態のマスターデータをデプロイする必要が出てきます。 CIサーバーではテストを回すと常にそのテストがコケた状態になります。
それがチーム内で共有されているとしてもテストがコケた状態だと それ今はコケるテストだから という状態が続く可能性があります。
その状態が続くと同一テスト内で他のテストがコケた場合に気づきにくくなります。
じゃあどうする
なので自分の場合は、そのようなケースが出てきた時はテストコードを修正し該当のデータだけテストをスキップさせる という方法を取っています
まとめ
テストこけっぱなしにするの(・へ・)ヨクナイ!