Типичный сценарий для меня:
Тот последний шаг действительно тверд. Вход может быть очень сложным и иметь много данных к нему. Создание входа вручную (например: P p = new P(); p.setX("x"); p.setY("x");
предположите делать, это 1000 раз для создания объекта) очень утомительно и подвержен ошибкам. На самом деле можно заметить, что существует опечатка в примере, который я просто дал.
Существует ли автоматизированный способ взять поле от точки останова в моем отладчике и генерировать исходный код, который создал бы тот объект, заполнил тот же путь?
Единственная вещь, которую я придумал, состоит в том, чтобы сериализировать этот вход (использующий Xstream, например). Я могу сохранить это в файл и читать, он въезжает задним ходом в автоматизированном тесте. Это имеет основную проблему: Если класс изменяется определенными способами (например: полевой/метод считывания/метод set название переименовано), я не смогу десериализовать объект больше. Другими словами, тесты чрезвычайно хрупки.