私はTDDの方法論に頭を悩ませようとしていますが、鶏が先か卵が先かという問題に遭遇しました.
次のメソッド シグネチャを検討してください。
string RemoveTokenFromString (string delimited, string token)
名前が示すように、このメソッドはtoken
fromのすべてのインスタンスを削除しdelimited
、結果の文字列を返します。
後で、このメソッドにはバグがあることがわかりました (たとえば、間違ったビットが文字列から削除されているなど)。そこで、バグが発生するシナリオを記述したテスト ケースを作成し、テストが失敗することを確認します。
バグを修正するとき、メソッドがその仕事を適切に行うには、より多くの情報が必要であることがわかりました。この情報は、パラメーターとしてのみ送信できます (テスト対象のメソッドは静的クラスの一部です)。
私は何をしますか?バグを修正すると、単体テストを変更せざるを得なくなります-それは「正しい」TDD方法論でしょうか?