Команда Google Testing внесла множество улучшений в свою среду тестирования AndroidX.
Почему Google по-прежнему путается с большим количеством библиотек, почему они не могут перенести все локальные тесты, тестирование инструментов все под той же платформой (Espresso)?
С AndroidX Test онина самом деле пытаются решить эту проблему!
Во-первых, обычные тесты юнитов "Junit" не изменились.Вы должны протестировать свой Java-код на JVM так же, как вы это делали.
Но теперь, с AndroidX, они сделали API Robolectric 4.0 таким же, как Espresso, так что теперь вы можете запускать ваши тесты Espresso какРобоэлектрические испытания.Это означает, что при локальной разработке вы можете выполнять итерации быстрее, потому что инструментальные тесты могут выполняться намного быстрее, чем при запуске на эмуляторах.Это также облегчает изучение Robolectric, потому что вы можете использовать тот же API, что и эспрессо.
Когда вы дойдете до фазы PR или CI, вы можете отправить те же самые тесты , которые выполнялись на Robolectric JVM, для запуска на вашем CI на реальных устройствах с использованием Espresso.
Я предложил проверить Тестирование перезагружено (с AndroidX Test) (Android Dev Summit '18) для получения дополнительной информации.
![In this picture, the failing UI and Unit tests would represent the same test but represented as Espresso/Robolectric Instrumentation Test depending on what you want to run and when](https://i.stack.imgur.com/nts7a.png)
На этом рисунке неудачные тесты пользовательского интерфейса и модульные тесты будут представлять собой один и тот же тест, но представлены как тестирование эспрессо / робототехнических приборов в зависимости от того, что и когда вы хотите запустить.Для ясности, вы хотели бы запустить его как Robolectric, когда вы делаете локальную разработку, особенно с TDD.Когда вы будете готовы отправить PR, вы можете запустить тот же тест на CI с эмулятором или реальным устройством.
Итак, хотя AndroidX.test может сбивать с толку, я советую посмотреть это видео, чтобы получить немного большепонять намерения Google с фреймворком.
Кроме того, я согласен, что они могут предоставить больше примеров и рекомендаций по использованию нового Androidx.Test!