StartAndroid Ru Testing
@androidtestingchat 157 участников
Загрузить еще
11 декабря
"вручную вводить значение поля в элементе" - у вас EditText в RecyclerView?
у меня cardview, а внутри элементы, внтури которых присутствует textview, вот надо сделать проверку, что при нажатии на cv, в другой активити ставится такой же текст
моего курса Тестирование у вас нет случайно? чтобы я сразу ссылку дал на уроки соответствующие?
Мурат Орозобаев:
У меня вопрос.
Проект который я создал работает на эмуляторе (версия 8.0) на своем телефона выдает ощибку (версия 5.1) как исправить эту проблему
у меня там по Espresso несколько подробных уроков
И по переходу на другие экраны
нет, но я думал сегодня - завтра купить как раз, если не разберусь самостоятельно
код нажатия на RV выглядит так:
onView(withId(R.id.recyclerView)).perform(actionOnItemAtPosition(10, click()));
R.id.recyclerView - это id recyclerview
и нажмется строка с позицией 10
далее у вас откроется другое activity
и тест продолжится уже в нем
что-то типа:
onView(withId(R.id.textView)).check(matches(withText("Item 11")));
z rfr hfp yf 'njv jcnfyjdbkcz)
вроде понял, спасибо большое
кста,
если надумаете покупать курс, то делайте это в ближайшие пару дней
потом будет дороже аж на 100 рублей )
добавятся пару уроков по JUnit
а это лучше в общий чат
t.me/...

и напишите, что за ошибка
я скорее всего завтра и куплю как раз)
13 декабря
testing.googleblog.com/...

Интересная статья. О том, как не проверять лишние методы в тестах
27 декабря
Курс Тестирование пополнился двумя новыми уроками:

Урок 11. JUnit. Rules.
В этом уроке подробно разберем работу механизма Rule. Рассмотрим несколько существующих правил и напишем свое

Урок 12. JUnit. Exceptions, Parameterized, Timeout, Ignored.
В этом уроке рассмотрим несколько полезных механизмов JUnit: Exceptions - проверка ожидаемой ошибки, Parameterized - передача в тест набора параметров, Timeout - установка таймаута для теста, Ignored - возможность пометить тест, чтобы он не выполнялся

startandroid.ru/...
31 декабря
А есть какие-нибудь статьи, детально объясняющие что тестировать, что не тестировать, как тестировать, как писать удобные для тестов методы, в таком стиле?
2 января
частично для этих вопросов можно посмотреть видео уроки на ютуб от Яндекса. Был у них цикл уроков по java и там два урока про тестирование
подскажите в ui тестах придерживаетесь ли принципа независимости тестов друг от друга или допустимо, чтобы для выполнения тестов они должны идти в определенной последовательности друг за другом?
6 января
​​Экстремальное программирование. Разработка через тестирование (2017)
Автор: Кент Бек

Второе издание знаменитого бестселлера, раскрывающего методику TDD (разработка, основанная на тестировании) и демонстрирующего мощь и простоту этой методики на примерах разработки реального программного кода.

Книга содержит два программных проекта, реализованных с использованием TDD, генерирующего понятный, гибкий и изящный код, легко модифицируемый, корректно работающий и не приносящий неприятных сюрпризов своим создателям. Также книга содержит каталоги приемов работы в стиле TDD и имеющих отношение к TDD рефакторингов и паттернов. Книга будет полезна всем программистам, желающим поднять производительность труда и испытывать удовольствие от процесса программирования.

Скачать книгу на русском: t.me/...

#common #qa #testing #book
10 января
Привет народ. какие части MVP обычно покрываются тестами? Начал писать тест для репозитория и понял что это бред. что я смогу протестить - ничего. Думаю только презентер можно протестить и вью, правильно?
Презентер - точно надо тестить, там есть логика
Для View - можно UI-тесты сделать

По репозиториям, можно тестить БД-репозиторий.
Добавить запись - проверить, что ее потом можно считать.
Поменять запись, считать и проверить, что обновилась.
да вот вопрос в том что не понятно, реально в бд ипсать или на моках все делать. Потому что если на моках - то какой смысл вообще в этом тесте
но я разбираюсь. вот нашел полезную штуку

Mockito.when(productRepository.getProducts(new ProductsRequest())).thenReturn(mockProducts());
Observable products = productRepository.getProducts(new ProductsRequest());
TestObserver observer = new TestObserver();
products.subscribe(observer);
// then:
observer.assertComplete();
observer.assertNoErrors();
вроде понятно немного как обсервебл тестить а вот как лайв дату пока не могу понять
В базу, конечно, реально записывать. Это проверка того, что репозиторий верно работает с базой.

Про TestObserver у меня отдельный урок есть, в курсе RxJava. Для LiveData наверно нет такого же инструмента, он все таки проще гораздо, событий у него меньше.
11 января
вот нашел решение stackoverflow.com/...
а вот еще вопрос. Я нашел способ тестить room DAO но теперь хз нужно ли тестить репозитории?(которые работают с базой)
Может быть как раз тестить надо не Dao, а репозиторий ...
Потому что реализация может смениться, например, с Room на Realm, а репозиторий останется. И логично покрывать тестами именно его.
ага. я уже затестил и то и то) хоть и дублируют друг друга. рум подключил через даггер2 и все стало понятно и удобно
до этого не мог понять как инициализировать даошки чтобы репозиторий мог их использовать
15 января
гайз, может кто знает как захендлить клик по стрелке "назад" в toolBar в espresso?
espresso.pressBack()
или я что-то не понял?
Может быть так?

onView(withContentDescription(R.string.abc_action_bar_up_description)).perform(click());
16 января
Всем салам. Я солдал nawigation draver и создал fragment. Тут проблема. Что то не загрузится fragment на content main
Это чат про тестирование
Общие вопросы пишите в чате t.me/...
Если пакет приложения совпадает то это обновляется или как?
Я написал два программу. И пытался установить обе. Но можно только одну. Первая уничтожает
а никто с restAssured не работал?
Решил😊
Вместе repleace еще использовать commit
17 января
не подскажите, можно ли в espresso дождаться пока item в recyclerview не станет кликабельным, и уже после этого кликнуть по нему

p/s в моём кейсе item-ы могуть быть не кликабельными
только через IdlingResource наверно
это часть espresso ?
да, это механизм, который позволяет ставить тесты на паузу
725172552
725787369