У меня есть такой сценарий, который, я думаю, должен быть довольно распространенным:
class Parameter
{
public int someInt;
private decimal someDecimal;
public SubParameter subParameter;
}
class SubParameter
{
public string someString { get; set; }
}
У меня есть точка останова при вызове метода, который принимает параметр в качестве параметра. Я хочу написать модульный тест, где я вызываю этот метод с тем же самым точным значением (копия объекта Parameter "дерево").
В этом случае очень утомительно писать множество строк, объявляющих и инициализирующих все поля и свойства класса, которые сами по себе могут быть не примитивными и т. Д.
Было бы неплохо, если бы я мог просто щелкнуть правой кнопкой мыши по переменной параметра и затем автоматически сгенерировать код для создания такого объекта.
Так что, если на моей точке останова, мой объект Parameter имеет значение
Parameter parameter = new Parameter
{
someInt = 42,
someDecimal = 42.42m,
subParameter = new SubParameter { someString = "42" }
};
хорошо, тогда этот код будет сгенерирован. Затем я мог бы использовать сгенерированный код для моего модульного теста.
Существует ли такая вещь?
Edit:
Полагаю, мне было неясно. Я прекрасно знаю, как писать код самостоятельно.
Я хочу, чтобы, когда я нажимал на точку останова и смотрел сложную переменную (или любую другую переменную), я хотел иметь возможность сказать: «Сгенерируйте для меня код, который создает клон этой переменной. Я бы использовал сгенерированный код для моего модульного теста.
Существует ли такой инструмент?