コンパイルエラーがあるままコミットされとった・・・

複数人で開発をしている時にテストコードにコンパイルエラーがあるコードをリポジトリからチェックアウトしてしまった時の対応方法で悩んだのでここに書いておく

TDDの手順としては下のような感じになる

  1. テストコードを書く
  2. コンパイルエラーを解消する
  3. テストが成功するように実装
  4. リファクタリング

で、テストコードにコンパイルエラーがあることに気がつくのは3の時

この時にどう対応するのが良いのか?

気がついた人はこんなことをすべき

  1. テストのコンパイルを通るように修正する
  2. コンパイルが通るようになったコードをプッシュする
  3. テストが通らないことを周知する
  4. テストのコンパイルが通らなくした人を探し出す
  5. テストのコンパイルが通らなくした人に修正を依頼する

下のようなフローも考えたんだけど、3にかかる時間が判らないなら作業が止まってしまうのでこのフローはダメな気がする。

  1. テストのコンパイルを通るように修正する
  2. テストのコンパイルが通らなくした人を探し出す
  3. テストのコンパイルが通らなくした人に修正を依頼する

本来論でいえば、CIでテストをスキップするのではなくテストを行ってプッシュした人にメッセージが飛ぶように設定しておくといいがそうではない場合もあるみたいなんでこんなことを書いてみた