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

发布于 2024-10-21 18:11:20 字数 693 浏览 0 评论 0 原文

我需要为 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 容器,因为在准备好模型实体之后,我必须显式地将所有这些实体传递给方法(参数 ListEntity )。

规格: ASP.NET C# (.NET 3.5) DotNetNuke (5.XX) MS SQL Server 2005

感谢您的意见和建议!

I have a requirement to provide auto-mocking for 30 different types of custom business objects. In order to avoid the cost of writing manual mock-up codes for all public properties in each entity, I am looking for a lightweight framework that I can utilize in my project.
Actually, this is not for unit testing but for "preview" functionality.

As for the behavior of mocking, I want to go by data type of the underlying entity.
For instance,

public class Customer
{
    public int CustomerID { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public DateTime DateOfBirth { get; set; }
}

All int properties = 1111, All string properties = XXXX, All DateTime properties will be DateTime.Now etc. I don't think I would need DI/IoC container because after preparing the mock-up entities, I have to explicitly pass all of those entities to a method (parameter List<object> entities).

Specifications:
ASP.NET C# (.NET 3.5)
DotNetNuke (5.X.X)
MS SQL Server 2005

Thanks for your comments and suggestion!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

聚集的泪 2024-10-28 18:11:20

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

var customer = CustomerFactory.Create();

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

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

If you have a factory that create each object, you can call inside the factory a helper method that set your default values via reflection. Iterate object properties and set defaults for well known types.

var customer = CustomerFactory.Create();

else, you must call the helper method everytime you create a new instance:

var customer = DefaultValuesHelper.SetDefaults<Customer>(new Customer());
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文