Visual Studio 2010 を使用して C# でプロジェクトを作成していますが、単体テストに NUnit を使用したいと考えていました。
私は oop にはまったく慣れていませんが、必要最小限のインターフェイスのみを隠して公開するように努めました。これは、完全にライブラリの内部にあるいくつかのクラスがあることを意味します。ユーザーは、インターフェイスを提供するいくつかのパブリック クラスを認識するだけで、内部状態を処理できます。
これは、最小限のインターフェイスをユーザーに提供することで、可能な限り隠しているようです。
ただし、単体テストを行いたい場合、これらのクラスをテストする方法がわかりません。私の質問は、ベストプラクティスとは何ですか? 純粋に単体テストのためにそれらを公開しなければならないのは残念です..または、仕事のためのより良いツールはありますか?
可能な限りカプセル化することと、可能な限り多くのメソッドを公開してそれらすべてをテストできるようにすることとの間のトレードオフのようです-確かに、単体テストでは内部の仕組みをテストし、統合テストでパブリックインターフェイスをテストするのが最善でしょう?
--
通常、パブリック インターフェイスの単体テストだけを心配することになると思いますが、この場合、多くの非常に複雑なテストが発生します。すべてを小さなチャンクに分割してテストする方がよいでしょう