Size: a a a

StartAndroid Ru Testing

2019 July 26

AP

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

AP

Andrey Pomazkin in StartAndroid Ru Testing
возможно! я творю херню и это вообще не нужно проверять)
источник

AP

Andrey Pomazkin in StartAndroid Ru Testing
наверное, достаточно в параметре прописать anyString() и не парится
источник

N

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

AP

Andrey Pomazkin in StartAndroid Ru Testing
Nikolay
ват?
хочу проверить что в зависимости от ответа, полученного с сервера, на вьюху будет передаваться ошибка либо со строкой от сервера(если она не пустая), либо с затычкой "Что-то пошло не так"
источник

AP

Andrey Pomazkin in StartAndroid Ru Testing
проверяю вызовом
verify(view).showError("from_response");
источник

N

Nikolay in StartAndroid Ru Testing
Andrey Pomazkin
хочу проверить что в зависимости от ответа, полученного с сервера, на вьюху будет передаваться ошибка либо со строкой от сервера(если она не пустая), либо с затычкой "Что-то пошло не так"
ну ты же мокаешь ответ от сервера?
источник

N

Nikolay in StartAndroid Ru Testing
я не вижу зачем тебе тут эти проверки
источник

AP

Andrey Pomazkin in StartAndroid Ru Testing
Nikolay
я не вижу зачем тебе тут эти проверки
я не могу четко обосновать зачем)
презентер очень простой, и хочется на нем протестировать все что только возможно, хотя бы ради того, чтобы научиться тестировать
источник

N

Nikolay in StartAndroid Ru Testing
Andrey Pomazkin
я не могу четко обосновать зачем)
презентер очень простой, и хочется на нем протестировать все что только возможно, хотя бы ради того, чтобы научиться тестировать
ну смотри. У тебя есть мето в презентере который делает чтото с ответом от сервера? скажим образно fun doSomething(value: String) - и внутри он вызывает какието методы на вью в завсисимости от того какое value. Правильно?

то есть тебе просто надо передавать разные value в твой метод и проверять что было вызвано или не вызвано
источник

AP

Andrey Pomazkin in StartAndroid Ru Testing
Nikolay
ну смотри. У тебя есть мето в презентере который делает чтото с ответом от сервера? скажим образно fun doSomething(value: String) - и внутри он вызывает какието методы на вью в завсисимости от того какое value. Правильно?

то есть тебе просто надо передавать разные value в твой метод и проверять что было вызвано или не вызвано
сервер возвращает код ошибки и текст ошибки. если текст есть, но нужно вызывать view.showError(response.getMessage()), если текста нет, то view.showError("случилась непонятная херня")
по факту метод вызывается один, но с разным значением параметра.
источник

AP

Andrey Pomazkin in StartAndroid Ru Testing
Nikolay
ну смотри. У тебя есть мето в презентере который делает чтото с ответом от сервера? скажим образно fun doSomething(value: String) - и внутри он вызывает какието методы на вью в завсисимости от того какое value. Правильно?

то есть тебе просто надо передавать разные value в твой метод и проверять что было вызвано или не вызвано
в целом, да
источник

N

Nikolay in StartAndroid Ru Testing
Andrey Pomazkin
сервер возвращает код ошибки и текст ошибки. если текст есть, но нужно вызывать view.showError(response.getMessage()), если текста нет, то view.showError("случилась непонятная херня")
по факту метод вызывается один, но с разным значением параметра.
но это же логика в презентере!
источник

N

Nikolay in StartAndroid Ru Testing
зачем она тебе в тесте?
источник

AP

Andrey Pomazkin in StartAndroid Ru Testing
ну я как раз логику презентера и тестирую
источник

AP

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

N

Nikolay in StartAndroid Ru Testing
Andrey Pomazkin
ну я как раз логику презентера и тестирую
и это правильно. Но тогда тебе не нужно проверять в самом тесте кроме передачи правильных данных
источник

N

Nikolay in StartAndroid Ru Testing
Andrey Pomazkin
я понимаю, что данный кейс может быть притянут за уши, но с другой стороны, наверное важно проверить, что если с сервера пришел ответ ошибки, то юзеру показывается именно она
кейс очень хороший!
источник

AP

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

AP

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