Android Broadcast
14.2K subscribers
3.53K photos
346 videos
11 files
5.92K links
Подборка новостей и статей для Android разработчиков.

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

РКН https://abdev.by/rkn_tg_ab
加入频道
#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 синхронно.
#Gradle #Flake #Test

Introducing flaky test mitigation tools for Gradle

Разработчики из Gradle представили новый плагин Test Retry Gradle Plugin, который повторяет выполнение неудачно выполнившихся тестов заданное количество раз. Flaky тесты отображаются специальным образом в тестовом отчете и Build Scan

Поддерживается следующие тестовые фреймворки:
👉 JUnit4
👉 JUnit Platform (JUnit 5)
👉 Spock
👉 TestNG
#JUnit #Test

Вышла новая версия JUnit 5.6.0

Основные изменения:
👉 Новый @Enabled/@DisabledForJreRange условия для выполнения теста
👉 Новое API TestInstancePreDestroyCallback для расширений
👉 Улучшение отчетов для крэшей во время поиска/выполнения тестов
👉 Модуляризация Javadoc

Множество других улучшений который вы можете найти в полном описание изменений
#Test

Автотесты на Android. Картина целиком

Как выстроить автотесты в вашем проекте? Это тяжело? В команде Avokado так не считают и в статье отвечают на ряд вопросов:
👉 Зачем нужны автотесты?
👉 Процесс написания тестов
👉 Инструменты
👉 Где запускать тесты?
👉 Инфраструктура
#test

Вышел Robolectric 4.7
👉 поддержка Apple Silicon (M1)
👉 собственная реализация БД (работает только на Mac и Linux)
👉 депрекейшен support-v4 (будет удалён в 4.8)
👉 Куча багфиксов