Kanstantsin
Alexey 🇪🇸
мне нужно проверить что в imageview та же картинка, что на по url
Alexey 🇪🇸
Так а если хранить картинку загруженную до ImageView и сравнивать с Bitmap
не могу, у меня ui тест. Поэтому есть только imageview
Kanstantsin
не могу, у меня ui тест. Поэтому есть только imageview
Из ImageView ты картинку такую же не получишь, банально вроде там методов нет даже нормальных
Alexey 🇪🇸
хоть и одинаковые размеры, все равно пиксели не совпадают
Kanstantsin
Да и зачем они там такие, View не должна отдавать картинку и держать её
Kanstantsin
Это не её дело вообще и это странно
Aleksey
не могу, у меня ui тест. Поэтому есть только imageview
а в ImageView картинка попадает оттуда же? если можно сравнивать не картинку, то мб в ImageView#tag можно мету класть при установке картинки?
Kanstantsin
да
Выше ответ
Alexey 🇪🇸
Ну уж картинку туда пихать чет такое себе)
Aleksey
ну я уже думал про тэг. Ты предлагаешь туда base64 засунуть?
кажется, что там слишком много символов, а они потом в Bundle попадут 😔 но первая гениальная была именно такая, да)
Kanstantsin
А если картинка огромная, вы что
Alexey 🇪🇸
base64 же длинная будет длинная если огромная картинка? Ну типо больше картинка - длиннее символов в base64?
Kanstantsin
Да и View не для этого
Aleksey
возможно, придумать какую-то дичь и делать это только для BuildConfig.DEBUG == true
Kanstantsin
Kanstantsin
ну то есть строка base64
Alexey 🇪🇸
взять base64 и вытащить 10 символов например
Kanstantsin
ну для дебага мб ещё как-то может сработать
Alexey 🇪🇸
да, блин еще и base64 будет долго считать небось
Kanstantsin
но ваще View не должна хранить картинки целиком
Alexey 🇪🇸
фризы будут
Kanstantsin
это будет ваще нарушение принципов
Aleksey
взять base64 и вытащить 10 символов например
есть низкий риск, что оно совпадет)
Alexey 🇪🇸
либо блин в тесте мб создать imageview и загрузить в нее может
Kanstantsin
и могу быть и фризы - да
Aleksey
это будет ваще нарушение принципов
да какие к черту принципы, человек тут тесты пишет)
Alexey 🇪🇸
интересно imageview всегда одинаково модицифирует картинку
Alexey 🇪🇸
то есть можно сделать в тесте наверно как-то imageview, загрузить туда картинку также как приложение делает. Может тогда их drawable совпадут
Kanstantsin
UI проверяют не это
Kanstantsin
не сравнивают данные, даже тут уже ошибка по сути
Kanstantsin
овер-инжениринг я бы сказал
Mike
надеюсь, уже озвучивали, что идея с base64 — полный бред?
Kanstantsin
с чего вдруг UI должны данные сверять, их надо сверять на слое data и тестами Junit
Alexey 🇪🇸
Kanstantsin
понятно, никто не слышит, ну ладно, удачи тогда )
Kanstantsin
а как мне проверить что в ui та картинка загружена?
никак, я третий раз пишу, ты не слышишь, View не обязана хранить в себе данные
Kanstantsin
и отдавать, они могут быть и огромные, за это отвечает уже кэш и память, и это не слой View
Alexey 🇪🇸
никак, я третий раз пишу, ты не слышишь, View не обязана хранить в себе данные
да слышу я, отчасти да и отчасти нет. В ui тестах все равно же так или иначе данные. Текст например тот же.
Kanstantsin
и тестируются данные JUnit тестами
Alexey 🇪🇸
или что тогда по твоему ui тест? Что в нем проверять?
Kanstantsin
или что тогда по твоему ui тест? Что в нем проверять?
проверять что UI правильно отвечает на твои действия
Kanstantsin
нажал кнопку - сравнил что показалось или не показалось на экране, например
Kanstantsin
текст хранится во View потому что он весит меньше в миллион раз, чем даже простая картинка
Alexey 🇪🇸
пикассу тестируешь?)
не, лишь то что картинка правильная загрузилась в imageview
Kanstantsin
ито никогда не проверял текста, это тоже странно очень
Alexey 🇪🇸
нажал кнопку - сравнил что показалось или не показалось на экране, например
ну да, мы сравниваем тот ли текст показался например
Kanstantsin
тогда и с ImageView можно ковыряться если тесты такие )
Alexey 🇪🇸
ито никогда не проверял текста, это тоже странно очень
а что проверял, только чисто переходы, что то открылось?
Kanstantsin
я же написал выше
Alexey 🇪🇸
ну понял, что какие-то вьюхи видны
Kanstantsin
ну ты нажал кнопку или что-то ввел, или что-то сделал на UI и смотришь что UI перешел в правильный State
Kanstantsin
если в общем то принцип такой, но никак не тестируешь там данные
Aleksey
не, лишь то что картинка правильная загрузилась в imageview
я, конечно, не спорю с тем, что иногда полезно проверить, что Picasso нужное загрузило, но что мешает проверить это до UI-слоя? то есть, что туда верная ссылка передана и т.д.
Alexey 🇪🇸
а может тупо урл картинки в tag и хрен с ним с битмапами. Урлы одинаковые - считаем что все норм
Vlad
Может кто подскажет. Хочу сделать отображение MAX чисел из каждого столбца таблицы бд. Быть может даже запросом можно реализовать Уже в голову ничего дельного не лезет...
Kanstantsin
ну да, я понял твой поинт
я согласен с твоим мнением о тестировании картинки, но там вроде банально даже метода нет, достать данные из ImageView, я думаю она просто не хранится там, просто показывается и очищается, что бы память не держать
Kanstantsin
тут только свои View писать с кэшем тогда, и в них тестировать данные
Mike
а может тупо урл картинки в tag и хрен с ним с битмапами. Урлы одинаковые - считаем что все норм
и тогда ты станешь проверять, что в тэге правильный урл, а не что во вью правильная картинка
Alexey 🇪🇸
и тогда ты станешь проверять, что в тэге правильный урл, а не что во вью правильная картинка
если урлы правильные - считаем что картинка правильная. Иначе это сервак виноват что по одному урлу разные картинки выдал