2 つの数値を渡して最大の数値を返すメソッドを開発しているとしましょう。私はこの TDD スタイルを行っているため、多数の単体テストを行い、次の実装を考え出します。
public int GetHighestNumber(int x, int y)
{
if (x > y) return x;
else return y;
}
これは非常にうまく機能します。
テストは、実装を作成するために使用されています。実装が完了したら、これらの単体テストを保持する意味は何ですか? 家がすでに引き渡された後、家の周りに足場を置いておくようなものです。
単体テストを行う理由や、TDD を使用するかどうか/いつ使用するかについては調べていません。これらのテストを一時的な手段として保持し、開発者をサポートする必要がない場合は削除するのではなく、コードが完全に実装された後も単体テストを保持する必要がある理由に興味があります。
編集
CodeGnomeについてコメントした後、これは主に開発者を正しい方向に向けるために作成された TDD テストに関するものであることを強調する必要があることに気付きました。いわば足場。
しかし、すべてのコメントに感謝します。
すべてのメッセージを読んだ後、次の 2 つのことを結論付けることができます。
- スタックオーバーフローの誰も実際に元の質問を読んでいません
- テスト自体が役に立たないからではなく、おそらく非常に無能な同僚と一緒に作業していて、これらのテストは彼らが信じられないほど愚かなことをするのを防ぐためにあるからです。