размер, на расширение, прописывать эту логику в сервисе или с помощью анотации и писать кастомный валидатор в спринге, как чаще всего делают в реальных проектах?
Ещё вопрос есть сколько времени обычно уходит на покрытие кода тестами, например чтобы покрыть тестами 5 классов с 5 методами?
От 1 минуты да месяца
У нас в проекте есть white/black list, проверяем наличие расширения после имени файла. По тестам — бессмысленный вопрос. Что тебе эта метрика даст?
А где проверяете расширение прямо в сервисе? По тестами да понимаю, просто когда пишу тесты уходит почему-то очень много времени, поэтому интересно
Очень много времени - это сколько? Тоже ни о чем. ты же только учишься. С опытом времени будет уходить меньше.
Можно сказать, в сервисе. Перед тем как что-то делать с файлом, сначала его проверяем.
Я бы не писал файлы в базу. ассерт каждого поля делать не вижу смысла. Либо используй ReflectionEquals, либо делай ассерт того что записалось в базу с тем, что пришло из реквеста. Трай кетч я бы унес куда то вглубь, ближе к потенциальному источнику исключения. По моканию сервисов — можно сделать мок в @BeforeAll один раз, так как тебе с этими моками скорее всего нужно тестить и другие методы
У меня файл репозиторий пишет в minio, я не очень понял про проверку того что записалось в базу, сейчас как раз проверяю что записалось, ReflectionEquals не могу использовать, у меня там поля по разному у объектов называются, я же правильно понимаю что он по полям одинаковым просто сравнивает? вот трай кетч я тоже не могу убрать, потому что я тут получаю inputstream и отсюда ошибка, мне стоит тогда в filerepository не inputStream а MultipartFile сразу передавать?
про моки, это ты про то где у меня большой блок с when?
ты ж маппером создаешь тип, который пишется в базу, как там могут быть поля разные?
А получается это нету смысла проверять, только поля которые в сервисе как-то создались?
В репозиторий лучше передавать сразу объект который надо сохранить. Если репозиторий сохраняет файлы, значит надо передавать в него файлы. Хотя, может бывает и другой подход. У меня нет опыта сохранения файлов в репозиторий
Я не понял этого сообщения
Ну я про то что если в базе сохраняется то что я передаю в дто, то на выходе не нужно проверять что выходные параметры равны входным?
Ну ты что тестируешь, сервис? Надо убедиться что метод вернул именно то что ты сохранил. Тут скорее всего будет достаточно проверить айди
Ну я тут ещё сет айди в моке делаю
Обсуждают сегодня