0

プライベートクラスをユニットテストすることは可能ですか?私は次のようなものを持っています

     public class ClassA: ClassB    
      {     
         private class ClassX: ClassY   
         { 
            public static int TestMethod(int numberA, int numberB) 
               { 
               return numberA + numberB
               }  
          }
       }

「TestMethod」をテストしたいのですが、アクセスできません。クラスAとクラスYを使用してプライベートClassXの新しいインスタンスを作成しようとしましたが、「TestMethod」にアクセスできません。

4

2 に答える 2

2

プライベート メンバーをテストすることはお勧めできません。それらは、公開露出メンバーを使用してテストする必要があります。

ただし、 MSTestを使用している場合は、アクセサーを使用できます。

他のテスト フレームワークを使用している場合は、リフレクションを活用できます。

上記は .NET に適用されます。他の言語で同じことを達成する方法がわかりません(Java/他の言語を求めている場合)。

于 2013-01-16T15:43:56.817 に答える
1

プライベート クラスのメソッドを呼び出すパブリック メソッドがどこかにあるはずです。そのメソッドを単体テストする必要があります。パブリック インターフェイスを介してプライベート メソッドにアクセスできない場合は、おそらく最初からプライベート メソッドを使用する必要はありません。

于 2013-01-16T15:43:18.587 に答える