Я пишу интеграционный тестовый класс, в котором много тестовых примеров (50+). Я должен создать несколько объектов разных типов в каждом методе тестирования. Из-за большого количества методов тестирования и создания нескольких объектов в каждом тесте мой тестовый класс становится очень громоздким. Мне нужны предложения относительно того, как я могу сделать это менее подробным и понятным.Уменьшение количества строк кода в тестовом классе (Builder - Factory pattern)
Что я сделал до сих пор - объекты, которые мне нужно создать, сложны. Например, объект A имеет объект B, который имеет список объектов C, у которого есть поле - значение. Мне нужно создать экземпляр объекта A со значением 5. Поэтому я переместил весь этот код в другой класс и назвал его ABuilder с помощью метода - buildWithValue(). Теперь в тестовом классе я просто делаю Abuilder.buildWithValue (5). Это забрало некоторый код из основного тестового класса.
Но теперь у меня есть несколько таких разработчиков BBuilder, CBuilder. Должен ли я переместить всех этих строителей в абстрактный строитель или что-то еще? Что-то вроде GenericBuilder, который принимает в качестве входного типа Builder и другие параметры для создания объекта, и даже если я это сделаю, количество строк не будет сильно уменьшено.
Итак, могу ли я это сделать. Создайте общий конструктор с методом, который принимает три значения (разные типы данных) - value1, value2, value3, которые требуются моими ABuilder, BBuilder и CBuilder. Таким образом, мой метод тестирования будет иметь только одну строку GenericBuild.createObjects (A1, B1, C1)
Или я должен разделить тестовый класс на два по некоторым критериям?
Пожалуйста, предложите
Почему бы вам просто не создать функцию в классе, который создает объект класса A. Создание класса, которое имеет только цель тестирования, не является хорошим подходом на мой взгляд. – rakesh