Size: a a a

StartAndroid Ru Testing

2019 July 22

ХХ

Хомилов Хусанбой in StartAndroid Ru Testing
Вот такая ошибка выдает адмоб
источник
2019 July 24

F

François Leclercq in StartAndroid Ru Testing
Кто-нибудь писал в ui тестах проверщик на изменение backgroundTintList?
источник
2019 July 25

AP

Andrey Pomazkin in StartAndroid Ru Testing
Привет, тестирую презентер.
В тестовом классе мокаю все зависимости презентера(интерактор, например),
создаю настоящий презентер,
запускаю у презентера метод загрузки данных(например),
проверяю, что у интерактора запускается метод получения данных
проверяю, что у интерфейса view вызываются некоторые методы(типа showLoading и т д)
вопрос в том:
если я хочу проверять, какие методы и сколько раз вызывались у презентера, я его тоже должен мокать? Или в принципе можно spy создать? или вообще не нужно заморачиваться, что там в презентере вызывается, а главное проверять, как у view вызываются методы?
источник

F

François Leclercq in StartAndroid Ru Testing
Подскажите, что может приводить к таким ошибкам:
android.support.test.espresso.AppNotIdleException: Looped for 53 iterations over 60 SECONDS. The following Idle Conditions failed .

Я нагуглил, что SwipeRefreshLayout, Progressbar и т.д. Убрал их - то же самое.
источник
2019 July 26

N

Nikolay in StartAndroid Ru Testing
François Leclercq
Подскажите, что может приводить к таким ошибкам:
android.support.test.espresso.AppNotIdleException: Looped for 53 iterations over 60 SECONDS. The following Idle Conditions failed .

Я нагуглил, что SwipeRefreshLayout, Progressbar и т.д. Убрал их - то же самое.
Это может быть из-за анимации ещё. Ее нужно отключать для тестов
источник

N

Nikolay in StartAndroid Ru Testing
Andrey Pomazkin
Привет, тестирую презентер.
В тестовом классе мокаю все зависимости презентера(интерактор, например),
создаю настоящий презентер,
запускаю у презентера метод загрузки данных(например),
проверяю, что у интерактора запускается метод получения данных
проверяю, что у интерфейса view вызываются некоторые методы(типа showLoading и т д)
вопрос в том:
если я хочу проверять, какие методы и сколько раз вызывались у презентера, я его тоже должен мокать? Или в принципе можно spy создать? или вообще не нужно заморачиваться, что там в презентере вызывается, а главное проверять, как у view вызываются методы?
Для проверки количества вызовов нужно мокать. Но это уже будет другой тест, как по мне
источник

F

François Leclercq in StartAndroid Ru Testing
Nikolay
Это может быть из-за анимации ещё. Ее нужно отключать для тестов
отключена
источник

N

Nikolay in StartAndroid Ru Testing
François Leclercq
отключена
то есть на девайсе где ты запускаешь тесты все анимации отключены в настройках девайса?
источник

F

François Leclercq in StartAndroid Ru Testing
Nikolay
то есть на девайсе где ты запускаешь тесты все анимации отключены в настройках девайса?
в developer settings
источник

F

François Leclercq in StartAndroid Ru Testing
в т.ч. в градле стоит соответствующий флаг
источник

N

Nikolay in StartAndroid Ru Testing
мм, тогда даже не знаю
источник

F

François Leclercq in StartAndroid Ru Testing
testOptions {
           animationsDisabled = true
       }
источник

AP

Andrey Pomazkin in StartAndroid Ru Testing
привет,
1. мокаю какой-либо объект с методом возвращающим строку
2. не указываю через when, что должен возвращать этот метод
3. запускаю другой метод, который использует метод выше.
вопрос, что вернет метод из мокнутого объекта? null?
источник

AP

Andrey Pomazkin in StartAndroid Ru Testing
такая ситуация в в дебаге.
метод возвращает null, но когда я проверяю его в TextUtils.isEmpty - возвращается false, хотя там в коде вот это:
public static boolean isEmpty(@Nullable CharSequence str) {
       return str == null || str.length() == 0;
   }
источник

AP

Andrey Pomazkin in StartAndroid Ru Testing
Andrey Pomazkin
такая ситуация в в дебаге.
метод возвращает null, но когда я проверяю его в TextUtils.isEmpty - возвращается false, хотя там в коде вот это:
public static boolean isEmpty(@Nullable CharSequence str) {
       return str == null || str.length() == 0;
   }
Разобрался, код TextUtils не грузится вообще, он просто отдает дефолтное значение, которое указано в build.gradle
источник

AP

Andrey Pomazkin in StartAndroid Ru Testing
Что мне тогда, isEmpty не использовать для тестируемого кода(
источник

AP

Andrey Pomazkin in StartAndroid Ru Testing
вобщем, советуют закинуть в проект файл TextUtils, весь либо только с нужным методом.
интересно, сколько еще грабель я найду на свою голову пока учусь писать юнит тесты(
источник

N

Nikolay in StartAndroid Ru Testing
Andrey Pomazkin
вобщем, советуют закинуть в проект файл TextUtils, весь либо только с нужным методом.
интересно, сколько еще грабель я найду на свою голову пока учусь писать юнит тесты(
чтото ты както мутно все описал. Вообще не ясно что тебе надо
источник

AP

Andrey Pomazkin in StartAndroid Ru Testing
Nikolay
чтото ты както мутно все описал. Вообще не ясно что тебе надо
а что непонятно?
тестируемый метод:
public boolean qqq(String value) {
    // тут более сложная логика, но есть TextUtils
    return TextUtils.isEmpty(value);
}

вот при unit тестах TextUtils не мокается, гугл предлагает:
http://tools.android.com/tech-docs/unit-testing-support?source=post_page---------------------------#TOC-Method-...-not-mocked.-
но это херня, TextUtils.isEmpty всегда будет возвращать один ответ
источник

N

Nikolay in StartAndroid Ru Testing
Andrey Pomazkin
а что непонятно?
тестируемый метод:
public boolean qqq(String value) {
    // тут более сложная логика, но есть TextUtils
    return TextUtils.isEmpty(value);
}

вот при unit тестах TextUtils не мокается, гугл предлагает:
http://tools.android.com/tech-docs/unit-testing-support?source=post_page---------------------------#TOC-Method-...-not-mocked.-
но это херня, TextUtils.isEmpty всегда будет возвращать один ответ
а чем тебе ассерт на нулл или пустую строку не подходит?
источник