[英]Write UnitTests for Internal Class of a library
我在库中有下面的类,我必须为此编写UnitTests,并且由我的开发团队给它编写了单元测试。
internal sealed class Settings : AppSettingsBase
{
private static Settings defaultInstance = ((Settings)(Synchronized(new Settings())));
public static Settings Default { get { return defaultInstance; } }
}
由于其内部,我无法在我的.Tests项目中访问它。 当我查看stackoverflow时,建议是要求开发人员在AssemblyInfo.cs文件中放置一个属性[assembly:InternalsVisibleTo(“ MyTests”)]。 这是我要向开发人员提出的要求,但是要花一些时间。
有没有一种方法可以通过任何反射概念或任何其他概念来读取这些属性或变量。 我在测试项目中使用Microsoft FAkes。
单元测试的目的是测试代码的公共可访问方面。 由于它是内部的,因此不应直接对其进行单元测试。 测试使用此类的公共功能。
如果必须测试它,那么解决方案的确是将[assembly:InternalsVisibleTo("MyTests")]
到程序集。 这不会花很长时间。 它只需要快速编辑AssemblyInfo.cs
文件即可。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.