在单元测试中,如何测试非public的对象

在单元测试的时候,由于保护级别的限制,我们对一些非public 类型的class, 或method无法在另一个单独的测试工程中进行测试,要是在原工程中进行测试,又显得有点乱。

我们可以用预编译来解决这个问题,使得单元测试可以在一个单独的工程中进行。如例

Project1 
namespace Project1
{
    class Class1
   {
   }
}

我们改写成
project1
namespace Project1
{
#if DEBUG
    public class Class1
#else
    class Class1
#endif
   {
   }
}

这样我们就可以在单独的测试工程中测试这个class了,对于method, property的测试方法相同。当然,我们可以使用自己定义的一个预编译常量

posted on 2004-04-07 11:09  muddle  阅读(1665)  评论(9编辑  收藏  举报

导航