Dmitry
Roman
Чеееее
Artem
ахахаха, отмаза от Бога)
Roman
Ну телега вообще написана без стандартных элементов
Roman
Там полностью всё вручную вычисляется
Roman
Нет, код читал
Vitaly
Извините за спам во все группы, нервы уже плавятся
Vitaly
Модули для Daggera можно делать внутри папки для модульных тестов? Это нормальная практика?
Dug
Извините за спам во все группы, нервы уже плавятся
Не юзать даггер и мозги в порядке будут 🤷
Vitaly
А как тогда создавать моки внутри модулей Dagger?
Konstantin
Похоже на то. Надо проверить
кмк очень сомнительно
Roman
кмк очень сомнительно
Но там же есть и ответы про ширину строки
Roman
Что-нибудь да сработает
Roman
В любом случае, задача решаемая
Roman
Там ад
Vitaly
Это ещё что такое? Блииин, ну я и нуб
Dug
Но там же есть и ответы про ширину строки
Начнем с того, что в тг все рисуется на канве
Roman
Начнем с того, что в тг все рисуется на канве
Ну это понятно. Так тут же речь про простые элементы
Vitaly
Начнем с того, что в тг все рисуется на канве
Но зачем? Выпендриться? Показать супер уникальный дизайн? Ускорить загрузку на 0.1 сек?
Roman
Roman
В отличие от вотсапа
Vitaly
В отличие от вотсапа
Ну да, погорячился
Глеб
жесть это когда у тебя
Глеб
Roman
Ещё GMail так написан
Глеб
один текст-вью
Roman
Это что
Konstantin
один текст-вью
мультилайн пример есть?
Roman
Через спаннабл стайл?
Himars
Я повторюсь - в unit тестах Даггер не используется В instrumentation тестах - да, используется, так как создаётся компонент в инстансе Application Вот там нужно создавать тестовые модули и запихать их в компонент В юнит тестах достаточно локально мокать зависимости тестируемого объекта.
Глеб
Через спаннабл стайл?
Не, тут ч/з канвас (text draw) потому что на одной линии а если как вы хотите на разных - так спаннбл - легко сделает
Konstantin
как это делать расскажи?
Vitaly
Да нахрен вообще даггер в тестах где проверяется поведение одного класса
Протестировать отправку данных на сервер например
Roman
про canvas.drawText?
Ну вообще про грамотное использование канвы
Сергій
там можно вечерок посидет, руками попробовать и понять
Roman
Практическое применение
Roman
там можно вечерок посидет, руками попробовать и понять
Ну я именно про такие юзкейсы, где она выгоднее обычных элементов
Сергій
у Ника Батчера была такая статейка, но там больше про Path
Сергій
https://medium.com/p/3fbc679a6f77
Roman
Протестировать отправку данных на сервер например
А ты сможешь это без контекста сделать? (Я просто не помню)
Сергій
Ну я именно про такие юзкейсы, где она выгоднее обычных элементов
где много мелких деталей, которые делать отдельными вью будет слишком затратно в плане inflate - measure - layout - draw
Roman
https://medium.com/p/3fbc679a6f77
Миленько, вспомнились универские курсы опенгл
Roman
Протестировать отправку данных на сервер например
Просто обычно работа с сетью заменяется на мок
Сергій
сеть никто не тестирует это флаки тесты
Roman
Ну в мокито-котлин это было как val mockNetwork : NetworkInteractor = mock( on ... doReturn ... )
Roman
Ой, блин, сейчас в код загляну
Vitaly
сеть никто не тестирует это флаки тесты
Флаки? Типо тяжёлые или что? Я имел ввиду, что с помощью Daggerа я хотел подменять реальный сервер на тестовый
Сергій
Флаки? Типо тяжёлые или что? Я имел ввиду, что с помощью Daggerа я хотел подменять реальный сервер на тестовый
нет, нестабыльные, результат выполения которых зависит от внешних факторов
Сергій
сеть нестабильный фактор
Roman
Вот, типо так я писал, где sut это тестируемый класс mockWebInteractor = mock { on { login("the_wrong", "creds_but_valid") } doReturn Single.error(NetworkException(502, "wrong_credetinals", "Wrong credentials")) on { login("the_good", "creds_for_test") } doReturn Single.just(User("name", "lastname")) } sut = LoginPresenter( ... ... ... TestSchedulersFactory(), mockWebInteractor )
Vitaly
нет, нестабыльные, результат выполения которых зависит от внешних факторов
Это когда настоящий сервер используется, разве нет? А я просто создам класс, который будет принимать данные
Сергій
да и не нужно тестировать бекенд, пусть бекендер это делает
Himars
А нахрена тогда Dagger?
Если вы считаете что даггера нужен для тестирования то у меня больше нет аргументов
Roman
да и не нужно тестировать бекенд, пусть бекендер это делает
так надо тестировать что клиент нормально работает
Сергій
так надо тестировать что клиент нормально работает
да, для этого делаются моки сервера
Сергій
ненадо никуда ничего отправлять
Vitaly
куда отправку?
Когда я спрашивал давно в группе Dagger для чего обычно применяется Dagger мне ответили для удобной замены модулей (сервера, хранилища) при тестах
Roman
да, для этого делаются моки сервера
Так а чем тебя мой метод не устраивает?
Сергій
Сергій
не ты предлагал тестить реальное апи
Roman
аа