我需要为30种不同类型的自定义业务对象提供自动模拟。为了避免为每个实体中的所有公共属性编写手动模型代码的成本,我正在寻找一个可以在我的项目中使用的轻量级框架。 实际上,这不是用于单元测试,而是用于“预览”功能。
至于模拟的行为,我想通过底层实体的数据类型。 例如,
public class Customer
{
public int CustomerID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public DateTime DateOfBirth { get; set; }
}
所有int
属性= 1111,所有string
属性= XXXX,所有DateTime
属性将为DateTime.Now
等。我认为我不需要DI / IoC容器,因为在准备模型实体后,我必须将所有这些实体显式传递给方法(参数List<object> entities
)。
规格: ASP.NET C#(.NET 3.5) DotNetNuke(5.X.X) MS SQL Server 2005
感谢您的意见和建议!
答案 0 :(得分:0)
如果您有一个创建每个对象的工厂,您可以在工厂内部调用一个帮助方法,通过反射设置默认值。迭代对象属性并为众所周知的类型设置默认值。
var customer = CustomerFactory.Create();
否则,每次创建新实例时都必须调用辅助方法:
var customer = DefaultValuesHelper.SetDefaults<Customer>(new Customer());