首页 > 解决方案 > 动态创建任意对象进行单元测试

问题描述

我们的代码库充满了具有大量数字和字符串字段的域对象。在我的单元测试中,我发现自己手动创建了这些不同对象的实例,如下所示:

var car1 = new Car();
car1.Make = "Make1";
car1.Model = "Model1";
car1.Year = 1;

var car2 = new Car();
car2.Make = "Make2";
car2.Model = "Model2";
car2.Year = 2;

ETC..

只用一个函数调用自动构建任何类型的对象的最简洁的方法是什么?

请记住,我不希望使用随机值生成字段。任意可重复值(如上面的 1 和 2)是我想要的。

标签: c#unit-testing

解决方案


既然是域对象,为什么不使用工厂呢?

无论您设置什么值,单元测试都应该是有效的。

如果要测试特定值,则应编写特定测试。

或者可能是您的需求不同?


推荐阅读