虚拟属性的单元测试
本文关键字:单元测试 属性 虚拟 | 更新日期: 2023-09-27 18:18:19
由于NHibernate中的延迟加载,我必须确保我的域的每个属性都是虚拟的。我想通过编写一个单元测试来检查每个反射,以确保特定命名空间中所有类的所有公共属性都是虚拟的。
我该怎么做?
提前感谢Tobi
不需要,只需要构建会话工厂。如果属性不是虚拟的,配置将抛出一个详细的消息,告诉您哪里出错了。
我从一个类似的案例中改编了一段代码,这应该能让你继续;
public static bool Test<T>()
{
var valid = true;
foreach (var property in typeof(T).GetProperties())
{
var accessor = property.GetAccessors()[0];
if (accessor.IsVirtual)
continue;
Console.WriteLine("Member " + typeof(T).Name + "." + property.Name + " is not virtual");
valid = false;
}
return valid;
}
你可以这样使用:
var valid = Test<User>();