私は単体テストが好きですが、それは去年一生懸命価値があることを証明しています。しかし、私はいつも問題を抱えています。ユニットテスト:プライベートメソッドとリファクタリング方法
私はそれらをパブリックにしたり、内部の属性を表示することは望ましくありません。私はきれいで鮮明なソリューションを求めています。それはテスト可能で、誰かに見せてもらえることを誇りに思います。
プライベートメソッド本当にが独立してテストする必要がある場合は、別のインターフェイスに移動して関連付けを使用して呼び出しメソッドに機能を公開する必要があるという結論に至りました。私は本質的にファサードパターンであると信じています。
これは本当にこれを実行する最善の方法ですか? それ以上客観的に...私は完全に見落とされている他のアプローチはありますか?
編集:特定の言語について話していますか? 私はC#で働いています。私は抽象的なものを探していたので、問題のコードを残していました。今日それに戻って、私はそれが実際には異なる言語のためにおそらく愚かであることを理解します。
だから、いくつかのコード:
public class CopmlexClass
{
public void SomeMethod()
{ }
private void workerMethod()
{ }
}
再実際のIDで
public class CopmlexClass
{
public void SomeMethod()
{ }
public IComplexClassWorker Worker { get; set; }
}
public interface IComplexClassWorker
{
void WorkerMethod();
}
に織り込まになるだろうが、おそらく
コンストラクタ・インジェクションを使用することを好むとさえプロパティを公開していない
私の質問は次のとおりです。それが最善の方法ですか?どのような代替バーの反射/内部が属性に見えるのですか?
特定の言語について話していますか? – Neowizard