Size: a a a

2020 December 10

D

Dima in pro.jvm
Alex
Всем привет. Поделитесь опытом кто как пишет тесты. Интересует интеграционный тест (IT) связанный с записью в БД сущностей и событиями при их записи. Для воспроизведения теста нужно кучу данных прогрузить в БД. Есть несколько вариантов.

1) Создать сущности через ORM но из много и довольно много кода
2) Перед началом теста залить дамп в тестовую БД
3) Перед началом теста выполнить sql-скрипты в которых лежат тестовые данные

@Sql(
           scripts = {
                   "/sql/create_client.sql",
                   "/sql/create_currencies.sql",
                   "/sql/create_services.sql",
           },
           config = @SqlConfig(transactionMode = ISOLATED),
           executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD
   )
   @Sql(
           scripts = {
                   "/sql/truncate_client.sql",
                   "/sql/truncate_service.sql",
                   "/sql/truncate_currencies.sql",
           },
           config = @SqlConfig(transactionMode = ISOLATED),
           executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD
   )
 
По мне так проще поддерживать тестовый дамп в актуальном состоянии. Кто что думает?
если дамп на все тесты пригодится - можно залить сразу, а так да @Sql
источник

AE

Alexandr Emelyanov in pro.jvm
Burevesnik 1960
@RequestParam спринга и @RequestPart на файл
@RequestParam String name, @RequestParam("type") CollectionType сollectionType, @RequestPart("attachment") MultipartFile multipartFile,
Ну, @RequestParam из тела вроде тянет
источник

NG

Nikita Gryzlov in pro.jvm
Burevesnik 1960
@RequestParam спринга и @RequestPart на файл
@RequestParam String name, @RequestParam("type") CollectionType сollectionType, @RequestPart("attachment") MultipartFile multipartFile,
не могу сказать за спринг, но вообще если аттачмент лежит в multipart formdata, а не бинарем в body целиком, то ничто не мешает и все остальные параметры вместо query string писать в body запроса. соответственно ничто не мешает их оттуда и парсить
источник

D

Dima in pro.jvm
Burevesnik 1960
Хай, может кто знает что за уличная магия?
на беке контроллер с 2 реквест параметрами 1  мульти парт для загрузки файла.

фронт кидает  файл и два поляа  ОДНИМ  form-data, и поля с форм даты мапяться на параметры контроллера. Почему?
никакой магии, @RequestPart для этого и используется
источник

AM

Alexei Mokhov in pro.jvm
Подскажите по деплою варника без бута. Суть проблемы: мультимодульный проект, над всеми зависимостями модуль вэб, который пакует варник. С плагина идеи все прекрасно работает, когда же я кидаю вар в папку webapps, стартую томкат и иду по пути приложения, то ловлю 404.
источник

AM

Alexei Mokhov in pro.jvm
INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [C:\Users\admin\Desktop\JAVA\apache-tomcat-9.0.33\webapps\web-1.0-SNAPSHOT.war]
источник

AM

Alexei Mokhov in pro.jvm
Ошибок в логах нет
источник

AM

Andy M. in pro.jvm
i just can't reproduce
источник

b

borsch in pro.jvm
context настроен?
источник

AM

Alexei Mokhov in pro.jvm
borsch
context настроен?
настроен
источник

AM

Alexei Mokhov in pro.jvm
с менеджера тоже вытаскивал, без результата
источник

B1

Burevesnik 1960 in pro.jvm
Dima
никакой магии, @RequestPart для этого и используется
я забыл отписать, да - уже потом в доке прочитал. Но спасиб бтв
источник

MB

Mikhail Bobrutskov in pro.jvm
хей, а что сейчас модно использовать для работы с базой?
источник

MB

Mikhail Bobrutskov in pro.jvm
кто-нибудь юзал Sql2o?
источник

DC

Denis Chikanov in pro.jvm
Mikhail Bobrutskov
хей, а что сейчас модно использовать для работы с базой?
Jooq?
источник

ch

central hardware in pro.jvm
так JDBC и его асинхронный вариант, да и все
источник

DC

Denis Chikanov in pro.jvm
Ну или там R2DBC
источник

MB

Mikhail Bobrutskov in pro.jvm
хочется что-то легкое и быстрое, jooq хороший, но здоровенный
источник

DC

Denis Chikanov in pro.jvm
Mikhail Bobrutskov
хочется что-то легкое и быстрое, jooq хороший, но здоровенный
С этого стоило начинать, наверное.
источник

D

Dima in pro.jvm
Mikhail Bobrutskov
хей, а что сейчас модно использовать для работы с базой?
ты про апи или еще и способ работы с базой?
источник