私は TDD の概念に不慣れで、アプリケーションのパブリック インターフェイス用の優れた単体テストを作成するコツをつかみ始めたところです。
現在、パブリック インターフェイスが比較的小さいクラス ライブラリに取り組んでいますが、舞台裏でクラスが非常に複雑になっています。この機能は、内部スコープのクラスとメソッドで実装されるため、単体テストには使用できません。これらのクラスとメソッドを公開したくないのは、それらを使用するアプリケーションで使用できないためです。ただし、より具体的なテスト ケースを作成しない限り、アプリケーションのすべての機能を適切にテストできるとは思えません。
どうすればそのようなテストを達成できるか、誰か説明してもらえますか? または、より良いテストを容易にするために変更できる私のアプローチに問題があります。
ところで、私は C# .NET 環境で作業していますが、私の質問は Java や他の多くのプラットフォームにも当てはまると思います。