2016-08-16 2 views
0

Я работаю над унаследованным проектом, который имеет много внешних зависимостей и классов настолько тесно связан, что почти невозможно выполнить единичный тест. Я знаю, что лучший способ справиться с этим - это сделать крупный рефакторинг, но на данный момент у нас нет такой роскоши, чтобы проект был практически 0 тестов, поэтому мы очень обеспокоены поломкой.Извержение устаревших библиотек

То, что мы пытаемся достичь на данный момент, - это быстро придумать тесты единиц/компонентов и постепенно реорганизовать, когда мы работаем над проектом. Для тестирования компонентов я думаю, что у существующих классов есть какая-то оболочка, чтобы «записывать» вход и выход, а затем сохраняться в физическом файле. Когда мы запускаем тесты, он возвращает результат на основе ввода.

Как я думаю, для этого нужно сохранить имя метода и входные параметры в качестве ключа и вывода в качестве значения. И вывод будет сериализован по «записи» и десериализован во время теста.

Этот подход, похоже, способен удовлетворить некоторые случаи. Но я предвижу, что позже будет много осложнений. Например: я могу столкнуться с несколькими проблемами, связанными с сериализацией определенных объектов. И я также могу испытывать трудности с передачей ссылки на объект из «вне» параметров.

Итак, вот мой вопрос. Есть ли библиотеки, которые все это делают? Я бы никогда не думал об этом вручную, если для этого была библиотека. Кстати, я использую Java.

Благодаря

ответ

0

Вместо того чтобы делать модульные тесты низкого уровня, я хотел бы начать с тестами для определения минимальных единиц можно разделить в настоящее время, то есть, возможно, только один. Вы можете захватывать ввод и вывод данных с помощью библиотеки сериализации, которая не требует, чтобы объекты были помечены как Serializable, например. Джексон.

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