在外部程序集中访问internal方法之InternalsVisibleTo

c#.net 中的类方法前加上internal,表示仅仅是本程序集中的对象可以访问,而其他程序集中的对象不能访问。

在单元测试过程中,有时需要对加上internal的方法进行测试,为了能在测试程序集中访问,可以在被测试程序集中添加InternalsVisibleTo来实现。

在被测试程序集中,可以找到AssemblyInfo.cs文件(vs中在解决方案资源管理器的Properties节点下),在其中添加

using System.Runtime.CompilerServices;

[assembly:InternalsVisibleTo("UnitTestAssemblyName")]

上面语句中的UnitTestAssemblyName直接替换为单元测试程序集的名称即可,加入单元测试程序集的名称为MyUnitTestAssembly,则上述语句具体化为:

using System.Runtime.CompilerServices;

[assembly:InternalsVisibleTo("MyUnitTestAssembly")]

至此,在单元测试程序集中可以直接访问被测程序集中的internal方法。

 

 

你可能感兴趣的:(C#语言)