Open EduVrn opened 7 years ago
По второму пункту предлагаю создать .bat- и/или .sh-скрипты для наката базы. Никакой кнопки для генерации тестовых данных быть не должно.
не согласен со скриптами, при загрузке, инициализация начальных дынных происходит здесь: https://github.com/EduVrn/Challenge/blob/master/src/main/java/challenge/dbside/ini/InitialLoader.java в функции init происходит создание тестовых бизнес сущностей, предлагаю здесь же читать тестовые данные из некоторого файла (xml - скорее всего), который класть в ресурсы. Норм решение?
Pojo-классы и работу сервисов в таком случае проверяют при использовании JUnit в соответствующих тестовых классах.
@saenghwal По скриптам - вполне вариант, из минусов я вижу 1) сложность произвольного запуска на удаленном сервере 2) больше трудозатрат. @joinedserg InitialLoader.java - если я правильно понимаю тут мы делаем запись в бд кажды раз при старте приложения - 1) ребут сервера приведет к дубликату? 2) как откатить тестовые данные (оставив только предварительную конфигурацию) ?
Стоит посмотреть https://github.com/celiovasconcelos/jpamock https://github.com/Codearte/jfairy https://github.com/DiUS/java-faker
Базовая идея в том чтобы тестовые данный было просто поодерживать (читать/писать/расширять) SQL для этих задачь не подходит принципиально https://github.com/EduVrn/Challenge/commit/9dab3a00241241a9565b230478aca19cfe14e5b7#diff-23c19af415ff2ae4115d6c2000faf60c тут можно попытаться догадаться что происходит в секции <<Data for Table "values">> но что тут <<Data for Table "relationship">> ... Понятно конечно что связи между объектами, но глядя только на этот кусок кода не возможно понять что за объекты, на что ссылаются, и какой тип связи . :(