使用internal和[InternalVisibleTo]

如果实在不想为测试添加一个公开的构造函数,可以使用内部(internal)构造函数。有了[InternalsVisibleTo],这些内部类成员和方法对测试程序集是可见的。代码清单3.9给出了详细的例子。

代码清单3.9  让内部成员对测试程序集可见

  
    
  1. public class LogAnalyzer  
  2. {  
  3.     ...  
  4.     internal LogAnalyzer (IExtensionManager extentionMgr)  
  5.     {  
  6.         manager = extentionMgr;       
  7.     }  
  8.     ...  
  9. }  
  10.  
  11. Using System.Runtime.CompilerServices;  
  12. [assembly: InternalsVisibleTo"ABOUT.CH3.Logan.Tests"]  

AssemblyInfo.cs文件中经常都有这样的代码。如果没有其他好方法让类成员对测试类可见,使用internal通常也不错。

你可能感兴趣的:(visible)