我目前正在通过创建一个 .NET Standard 1.6 库来使用最新的 Visual Studio 2017 Release Candidate。我正在使用 xUnit 对我的代码进行单元测试,并且想知道您是否仍然可以在 VS2017 中测试内部方法。
我记得你可以在 VS2015 的 AssemblyInfo.cs 类中添加一行,使指定的项目能够看到内部方法:
[assembly:InternalsVisibleTo("MyTests")]
由于 VS2017 .NET Standard 项目中没有 AssemblyInfo.cs 类,我想知道您是否仍然可以对内部方法进行单元测试?
根据.NET 文档InternalsVisibleToAttribute:
InternalsVisibleToAttribute
该属性应用于程序集级别。这意味着它可以包含在源代码文件的开头,也可以包含在 Visual Studio 项目的 AssemblyInfo 文件中。
换句话说,您可以简单地将它放在您自己的任意命名的 .cs 文件中,它应该可以正常工作:
// some .cs file included in your project using System.Runtime.CompilerServices; [assembly:InternalsVisibleTo("MyTests")]