私はTDD方法論の周りに頭を上げようとしています。私が思うには、鶏と卵の問題:バグ修正でメソッドの署名が変更された場合の対処方法TDDを使用するには、テスト中のメソッドのシグネチャを変更する必要がありますか?
は、以下のメソッドシグネチャを検討:名前が示唆するよう
string RemoveTokenFromString (string delimited, string token)
、この方法はdelimited
からtoken
のすべてのインスタンスを除去し、得られた文字列を返します。
このメソッドにはバグがあります(たとえば、不適切なビットが文字列から削除されているなど)。そこで、バグが発生するシナリオを記述するテストケースを作成し、テストが失敗することを確認します。
このバグを修正すると、メソッドはジョブを正常に実行するためにはより多くの情報が必要であることがわかりました。この情報ビットはパラメータとしてのみ送信できます(テスト対象のメソッドは静的クラスの一部です)。
私は何をしますか?私がバグを修正すると、これは私にユニットテストを変更するよう強要します - それは「正しい」TDD方法論でしょうか?
アーメン、それはよく言われました。 –