Size: a a a

2021 February 23

NG

Nikita Gryzlov in pro.jvm
А зачем вообще это проверять? Это же ответственность ORM системы в целом или же конкретного маппера на конкретную субд, а не вашего приложения.
источник

b

borsch in pro.jvm
Alexandr Emelyanov
Весьма странный кейс. Наверно таки надо проверять по данным, так ли сущность связана. Завязываться на генерируемый ид - плохая идея
а как это сделать? отдельно кверять БД, чтобы проверить связь? так себе

ИМХО: в тестах с БД в конце надо проверять, что БД осталась в ожидаемом состоянии  (с учетом FK на autogenerated поля)
источник

b

borsch in pro.jvm
но на вкус и цвет фломастеры разные :)
источник

b

borsch in pro.jvm
Nikita Gryzlov
А зачем вообще это проверять? Это же ответственность ORM системы в целом или же конкретного маппера на конкретную субд, а не вашего приложения.
ответственность ORM в том чтобы это правильно сконвертиты в SQL квери
но он не может проверить, что я правильно сделал  a.set(b)
источник

NG

Nikita Gryzlov in pro.jvm
borsch
ответственность ORM в том чтобы это правильно сконвертиты в SQL квери
но он не может проверить, что я правильно сделал  a.set(b)
А зачем это проверять через субд?
источник

b

borsch in pro.jvm
Nikita Gryzlov
А зачем это проверять через субд?
а для чего тогда вообще проверять субд?
источник

NG

Nikita Gryzlov in pro.jvm
borsch
а для чего тогда вообще проверять субд?
В этом и состоит мой вопрос :) выглядит так, что ваш кейс - на уровне бизнес логики и/или энтити. Не совсем понятно, зачем выходить с этого уровня и проверять результат работы через субд, если можно проверить, что метод, который должен что-то засетить в энтити, делает это
источник

NG

Nikita Gryzlov in pro.jvm
Возможно я неправильно понял ваш кейс
источник

b

borsch in pro.jvm
Nikita Gryzlov
В этом и состоит мой вопрос :) выглядит так, что ваш кейс - на уровне бизнес логики и/или энтити. Не совсем понятно, зачем выходить с этого уровня и проверять результат работы через субд, если можно проверить, что метод, который должен что-то засетить в энтити, делает это
я просто привел пример :)

> если можно проверить, что метод, который должен что-то засетить в энтити, делает это

а как? у вас метод сервиса c void. как тут проверить setB()?
источник

NG

Nikita Gryzlov in pro.jvm
borsch
я просто привел пример :)

> если можно проверить, что метод, который должен что-то засетить в энтити, делает это

а как? у вас метод сервиса c void. как тут проверить setB()?
Рефлексия? verify у spy в мокито?
источник

b

borsch in pro.jvm
Nikita Gryzlov
Возможно я неправильно понял ваш кейс
я отвечал на вопрос. вот проблема https://t.me/jvmchat/414032
источник

AE

Alexandr Emelyanov in pro.jvm
В общем подход более чем странный
источник

NG

Nikita Gryzlov in pro.jvm
borsch
я отвечал на вопрос. вот проблема https://t.me/jvmchat/414032
Оу, я спутал вас с топик стартером, извиняюсь
источник

b

borsch in pro.jvm
borsch
но на вкус и цвет фломастеры разные :)
как я говорил
источник

D𝔇

Dmitry 𝔇𝔪𝔦𝔱𝔯𝔶... in pro.jvm
borsch
а как тогда FK проверить?)
А зачем проверять его конкретное значение?
Вытягивайте джойном все данные и проверяйте что вытянулось
источник

AE

Alexandr Emelyanov in pro.jvm
Dmitry 𝔇𝔪𝔦𝔱𝔯𝔶
А зачем проверять его конкретное значение?
Вытягивайте джойном все данные и проверяйте что вытянулось
+
источник

b

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

есть же dbunit, который  прекрасно проверяет БД
источник

МШ

Михаил Шевелев... in pro.jvm
Ребят, вопрос насчет хранения данных приложения на смартфоне. Пишу приложение заметок, заметки сгруппированы по папкам. Соответственно все создается в ходе работы программы пользователем. Есть класс папки, в нем массив заметок, которые относятся к данной папке. Как это лучше хранить? Проблема в том, что в заметке могут быть еще и картинки, причем в неограниченном количестве. Пока вариант такой: на каждую папку создавать отдельную базу данных(SQLite), в которой будет поля "текст заметки", "дата создания", "фотография в байтах". Но ведь фотографий может быть несколько. Подскажите пожалуйста, кто знает.
источник

Y

Yaroslav in pro.jvm
если подойдет,
создай сущности (table name):
- папка (id, name, ...other)
- заметка (id, name, txt, ...other, папка_id)
- картинка (id, ..other, заметка_id)
"создавать отдельную базу данных(SQLite)" - не надо
источник

Y

Yaroslav in pro.jvm
с этими таблицами делай обычные операции вставки, изменения, удаления и т.д.
источник