いくつかのことを行うこのクラスを作成しました(おそらくこれは単一責任原則の違反です)。私はプロジェクトのいくつかの他の部分が必要であることを今実感作品そのロジックのを、私はそれを公開するつもりだ方法は、私のオリジナルテスト対象システムのうち、クラスを抽出することです。
テストコードを変更せずにこれを行うことができると予想していますが、完了したら、テストはユニットテストではなくなったと主張できます。元のクラスと抽出したクラスをテストします。つまり、テストケースは1つですが、テスト対象のシステムは2つになります。
完了したら、テストコードをリファクタリングすることになっていますか?IE:ExtractedClassTestを作成し、関連するすべてのテストをOriginalClassTestからそこに移動しますか?これは少しリスクが高いようです:プロセスのカバレッジを失う可能性があります。テストを移動するほど簡単ではないかもしれません。等
一方、OriginalClassTestをそのままにしておくと、これがテストメンテナンスの問題であることがわかります。ExtractedClassのテストがどこにあるかを見つけるのは少し混乱するでしょう。あなたの第一印象は、それが存在しないということです。量産コードのリファクタリングが多くなると、これは深刻な問題になる可能性があります。
私はTDDが初めてなので、専門家のアドバイスをお願いします。ありがとう!