だから私は、次のようなものになりますクラスがあります。今、などオーバーロードされた関数の単体テストを行うにはどうすればよいですか?
は、DBParameterは、サーバー、DBNAME、DBTYPEなどのプロパティが含まれている単純な値のクラスであるpublic class MyClass
{
DatabaseDependency _depend;
public MyClass(DatabaseDependency depend)
{
_depend = depend;
}
public string DoSomething(DBParameter database)
{
var result = _depend.GetResults(database, ...);
string response = String.Empty;
// some logic to process the result
return response;
}
}
、
を、私は追加したいですDoSomethingへのオーバーロードにより、DBParameterパラメータの代わりに接続文字列を受け入れるようにします(DatabaseDependencyにはすでに接続文字列を受け付けるGetResultsオーバーロードがあるとします)。
私の質問:DatabaseDependency.GetResultsの結果を処理するために使用されたさまざまな論理パスを説明するいくつかの単体テストがあります。 DoSomethingに過負荷を追加すると、コードを本質的にリファクタリングして、このロジックが両方のオーバーロードによって再利用されるようになります(つまり、プライベートメソッドに移動する可能性があります)。これについて単体テストを行う正しい方法は何ですか?私が追加している新しい過負荷のためのすべての論理パスを検証するのと同じだけの単体テストをする必要がありますか?