在单元测试中,如何测试非public的对象
在单元测试的时候,由于保护级别的限制,我们对一些非public 类型的class, 或method无法在另一个单独的测试工程中进行测试,要是在原工程中进行测试,又显得有点乱。
我们可以用预编译来解决这个问题,使得单元测试可以在一个单独的工程中进行。如例
Project1
namespace Project1
{
class Class1
{
}
}
我们改写成
project1
namespace Project1
{
#if DEBUG
public class Class1
#else
class Class1
#endif
{
}
}
这样我们就可以在单独的测试工程中测试这个class了,对于method, property的测试方法相同。当然,我们可以使用自己定义的一个预编译常量