我正在为我正在处理的 C# 项目设置一些单元测试,并且我选择使用 Visual Studio 的内置单元测试项目。问题是我一直在为项目中的大多数类提供默认的internal
访问级别。现在我的单元测试项目无法访问它们,因为它是一个不同的程序集。
只在项目中创建我的所有类以便单元测试项目可以访问它们是微不足道的public
,但是保留仅由项目内部使用的类不是惯用的internal
吗?
我正在为我正在处理的 C# 项目设置一些单元测试,并且我选择使用 Visual Studio 的内置单元测试项目。问题是我一直在为项目中的大多数类提供默认的internal
访问级别。现在我的单元测试项目无法访问它们,因为它是一个不同的程序集。
只在项目中创建我的所有类以便单元测试项目可以访问它们是微不足道的public
,但是保留仅由项目内部使用的类不是惯用的internal
吗?
您可以使您的内部结构对测试项目可见 - 请参阅此处了解更多信息
对此有内置支持,称为私有访问器。例如在这里阅读:http: //msdn.microsoft.com/en-us/library/bb385974%28v=vs.100%29.aspx
顺便说一句,请考虑您是否真的要对项目的内部进行单元测试。根据一些学校的说法,您不应该这样做,但我知道它可能很有用。