Тестирование сервиса, можно ли создавать отдельный класс для хранения объектов тестирования или это плохая практика?
Для меня это новое,
При тестировании сервиса возникла идея создать отдельный класс TestData и туда закинуть все объекты и коллекции ( но сделать их unmodifiable, а объекты final ). Это как альтернатива уничтожению и созданию объектов в @BeforeEach в классе тестирования сервиса. Все равно нигде в сервисе эти объекты не изменяются.
Это хорошая практика так делать?
Или нужно конкретно прописывать объекты в классе и заново создавать каждый раз?
Можно и так.
Я видел как некоторые ребята пишут DSL для тестов. (Типа: User user = ObjectFather.getDefaultUser().with ... .please())
Ну а мне больше нравится тестовые данные хранить в виде джейсонов: джейсон легко хранить, легко просматривать, дегко преобразовывать в объект.
Спасибо за ответ, буду рад, если бы вы ответили.
Если весь класс будет состоять только из методов, каждый из которых возвращает new объект/объекты для тестирования, то это нормально?
И потом в классе в @BeforeEach просто можно будет писать = getSomeModel().