0

Я пытаюсь обвести голову подходящим способом настройки Android Espresso's AccessibilityChecks. Документация предполагает, что я просто позвоню AccessibilityChecks.enable() в методе установки @Before. Проблема в том, что если у вас более одного теста в этом классе, второй тестовый прогон выдаст предупреждение об исключении, которое уже включено. AccessibilityChecks. Вы можете исправить это, вместо этого назовите его в статическом методе настройки @BeforeClass. Однако, если у вас есть еще один тест, который должен содержать AccessbililtyChecks, вы получите ту же ошибку. AccessibilityChecks.enable() создает глобальный просмотр утверждения, который нельзя отключить или удалить, насколько я могу судить.Правильно включите AccessibilityChecks для набора файлов с несколькими файлами

Мое текущее обходное решение заключается в проведении теста Espresso, который выполняется перед всеми остальными (AAA_AccessibilityTest.java), и я не разрешаю его нигде.

Проблема в том, что если я сосредоточусь на определенном наборе тестов, проверки доступности не будут выполняться, потому что этот тест не включен.

Возможно, кто-то из Android может взвесить здесь, но я не смог найти никаких рабочих примеров в Github или других местах, где показано, что это используется в нетривиальном наборе тестов.

Цель AccessibilityChecks.enable() - это потрясающе, но реализация кажется полностью сломанной без пути до disable() их после нас enable() их. Я что-то упускаю? Как я могу использовать это надежным и разумным способом?

ответ

3

Вы можете включить его в пользовательский тест бегун:

public class AccessibilityChecksTestRunner extends AndroidJUnitRunner { 
    static { 
    AccessibilityChecks.enable(); 
    } 
} 

Использование в build.gradle:

testInstrumentationRunner "com.example.AccessibilityChecksTestRunner" 
+0

Это идеальный вариант, благодаря Чиу-Ки! –

Смежные вопросы