0

是否可以对私有类进行单元测试?我有类似的东西

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

我想测试“TestMethod”但无法访问它。我尝试使用 Class A 和 Class Y 为私有 ClassX 创建新实例,但它不允许我访问“TestMethod”

4

2 回答 2

2

测试私人成员不是一个好习惯。他们应该使用公开的成员进行测试。

但是,如果您使用的是MSTest,则可以使用accessors

如果您正在使用其他测试框架,则可以利用反射

以上适用于.NET。我不知道如何在其他语言中实现相同的效果(如果您要求使用 java/其他语言)。

于 2013-01-16T15:43:56.817 回答
1

应该有一个公共方法调用您的私有类中的方法。您应该对该方法进行单元测试。如果您无法通过公共接口访问您的私有方法,那么可能不需要私有方法开始。

于 2013-01-16T15:43:18.587 回答