编写c#对象实例的工具(用于单元测试)
本文关键字:用于 单元测试 工具 对象 实例 编写 | 更新日期: 2023-09-27 18:16:38
假设我有一个方法,它接受一个对象列表。该方法通常会轻松处理20个对象。每个对象都有15个左右的属性
要进行单元测试,我需要输入所有20个对象,以便将它们传递到我的方法中。
当我在调试器观察窗口中看到我需要的完美示例时,这是令人沮丧的。
有一个工具,我有一个对象,并使其输出到c# ?
注意:我看到这个问题:如何将对象序列化为c#对象初始化代码?但是它生成的代码不能工作…
我不认为我是第一个想要这个的人。比我想象的难吗?或者已经有这样的工具了吗?我创建了一个名为Object exporters的visual studio插件,它正是这样做的。您可以导出c#、JSON或XML格式的对象实例
我经常使用JavaScriptSerializer类将广泛的对象转换为文本,用于单元测试:
var fruits = new List<string>();
fruits.Add("Apple");
fruits.Add("Banana");
fruits.Add("Blueberry");
fruits.Add("Orange");
var jss = new JavaScriptSerializer();
var text = jss.Serialize(fruits);
Console.WriteLine(text);
上面的代码将产生以下输出:
["Apple","Banana","Blueberry","Orange"]
可以转换回如下所示的对象:
var jss = new JavaScriptSerializer();
var text = "['"Apple'",'"Banana'",'"Blueberry'",'"Orange'"]";
var fruits = jss.Deserialize<List<string>>(text);
这个解决方法让我免去了很多无聊的打字;)