2013-05-31 5 views
1

Скажем, у меня есть метод, который принимает список объектов. Метод, как правило, займет 20 объектов. У каждого объекта есть 15 или около того свойств на них.Инструмент для записи экземпляра объекта в C# (для модульного тестирования)

Чтобы проверить это, мне нужно напечатать все 20 объектов, чтобы я мог передать их в свой метод.

Это разочаровывает, когда я вижу прекрасные примеры того, что мне нужно, сидя там, в окне моего отладчика.

Есть ли инструмент для взятия объекта, который у меня есть, и его вывод на C#?

Примечание: Я видел этот вопрос: How can I serialize an object to C# object initializer code? но код он генерирует не работает ...

Я не могу думать, что я первым хочу этого. Это сложнее, чем я думаю? или есть инструменты там, которые делают это уже?

+3

звучит так, как ваш метод нуждается в перепроектированном виде. –

+0

Я согласен с Даниэлем. но в качестве дополнительной заметки я бы рекомендовал подумать о расширении этого списка. Не могли бы вы опубликовать этот метод? –

+0

Factory pattern + Random.Next Ваши друзья здесь. –

ответ

1

Я часто использую JavaScriptSerializer Class для преобразования протяженных объектов в/из текста для целей тестирования модулей:

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); 

Это обходное решение имеет спас меня от большого количества скучной печати;)

2

Я создал плагин визуальной студии под названием Object Exporter, который выполняет именно это. Вы можете экспортировать экземпляр объекта в C#, JSON или XML.

Смежные вопросы