我是单元测试的新手,我试图弄清楚是否应该开始使用更多的internal访问修饰符。我知道,如果我们使用internal和设置程序集变量InternalsVisibleTo,我们可以测试我们不想从测试项目中公开的函数。这让我觉得我应该总是使用internal,因为至少每个项目(应该?)都有自己的测试项目。你们能告诉我为什么我不应该这样做吗?我应该什么时候使用private?
internal
InternalsVisibleTo
private
内部类需要测试,并且有一个程序集属性:
using System.Runtime.CompilerServices; [assembly:InternalsVisibleTo("MyTests")]
将此添加到项目信息文件中,例如Properties\AssemblyInfo.cs,用于正在测试的项目。在这种情况下,“MyTests”是测试项目。
Properties\AssemblyInfo.cs