Android Broadcast
14.4K subscribers
3.68K photos
367 videos
11 files
6.1K links
Подборка новостей и статей для Android разработчиков.

Реклама и связь с автором @ab_manager

РКН https://abdev.by/rkn_tg_ab #MQRZR
Download Telegram
#GooglePlay #Test #Robo

Automate Android App Testing with Robo

Для все тех кто использует Pre-launch отчеты в Google Play перед запуском приложения и хочет улучшить их качество рекомендую посмотреть интро по Robo тестам
👍1
#Test #Mock

Superior Testing: Make Fakes not Mocks

Всегда ли эффективно использовать Mock-и или лучше делать Stub-ы? Stub позволяет с более дешевой ценой для производительности выполнять тесты, соотвественно скорость их выполнения увеличится. Более подробное сравнение в статье
👍1
#Test #Coroutines

Android Testing Codelab теперь содержит информацию про корутины

Теперь в официальной codelab по тестированию на Android можно найти следующую информацию:
👉 Как создать настроить тест корутин
👉 Когда использовать runBlockingTest
👉 Как тестировать Architecture Components
👉 Как использовать TestCoroutineDispatcher для приостановки выполнения корутин
#Java #Test

Truth 1.0: Fluent Assertions for Java and Android Tests

Google выпустила assertation библиотеку для тестов. В чем ее преимущества по сравнению с уже существующими решениями AssertJ и Hamcrest:
👉 Более простое API: вызовы идут цепочкой и IDE может легко вам предлагать подходящие assertation
👉 Сообщения об ошибки более читабельны

Truth поддерживает Java, Kotlin, Android, AndroidX Test, GWT.
#Test

What is a unit?

Что нам говорят про тесты, когда мы впервые слышим о них?
👉Есть Unit и интеграционные
👉Первых должно быть больше, так как интеграционные медленные
👉Unit тесты должны тестировать только отдельные части кода: метод или класс

Danny Preussler разбирается во всех частях и на примерах показывает что стоит покрывать Unit тестами
#Coroutines #Test

How to unit test code with Coroutines

Вы хороший программист, который покрывает свой код Unit тестами, а еще и в тренде потому что используешь Coroutine и Kotlin ? Тогда рекомендую ознакомиться как сочетать 2 эти подхода и что такого предоставляется библиотека org.jetbrains.kotlinx:kotlinx-coroutines-test
#Test #Automation

Kaspresso: фреймворк для автотестирования, который вы ждали

Союз ребят из Лаборатории Касперского, HeadHunter и Авито создали фреймворк для автотестирование, который сделает ваши отношения с автотестами лучше и плодотворнее.

Чем же отличился Kaspresso:
👉 Возможность использования adb, а значит можно настраивать систему для теста
👉 Создание скриншотов
👉 Красивый DSL
👉 Решения flaky тестов из коробки
👉 Легкая интеграция если у вы используете Kakao
👉 Гибкость и легкая настраиваемость

В статье рассказывается зачем был нужен еще один инструмент для написания автотестов, чем не угодил Espresso, Kakao, нужен ли DSL для написания тестов и пр.
#Coverage #Test #JaCoCo

Вышел JaCoCo 0.8.5

Вышла новая версия самой популярной библиотеки для Java Code Coverage. Новая версия получила следующие улучшения:
👉 Поддержка Java 13 (Android разработчики только этого и ждали 😁)
👉 Улучшение отчетов для Kotlin
‼️ Изменилась лицензия на Eclipse Public License Version 2.0
👉 Исправление багов
#Coroutines #LiveData #Test

Testing two consecutive LiveData emissions in Coroutines

Kotlin Coroutines получают все большую популярность и активнее интегрируются в последние решения от Google, поэтому стоит рассматривать подходы, которые рекомендуется использовать.

В статье рассматривается проблема тестирования эмита 2 последовательных значений LiveData, одно из которых приходит из Coroutine.

Автор рассказывает о нескольких решениях:
1️⃣ TestCoroutineDispatcher из библиотеки kotlinx.coroutines.test, который позволяет приостанавливать и возобновлять CoroutineDispatcher
2️⃣ Использование LiveData.asFlow(). Пример можно найти в Pull Request

Хорошие практики использования Dispatcher-ов в тестах:
👉 Не используйте стандартный класс Dispatchers, а доставляйте зависимости сами с помощью DI. Это позволит вам подменять их в тестах и иметь больший контроль
👉Используйте TestCoroutineDispatcher вместо Dispatchers.Unconfined для тестов. TestCoroutineDispatcher дает больше гибкости для тестирования, чем Dispatchers.Unconfined, но последний все также может успешно выполнять Coroutine синхронно.