如何自动模拟自定义业务实体?

时间:2011-03-12 12:30:13

标签: c# asp.net c#-3.0 asp.net-3.5 moq

我需要为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

感谢您的意见和建议!

1 个答案:

答案 0 :(得分:0)

如果您有一个创建每个对象的工厂,您可以在工厂内部调用一个帮助方法,通过反射设置默认值。迭代对象属性并为众所周知的类型设置默认值。

var customer = CustomerFactory.Create();

否则,每次创建新实例时都必须调用辅助方法:

var customer = DefaultValuesHelper.SetDefaults<Customer>(new Customer());