Pull to refresh
0
0
Send message

И еще один момент.

Использовать в тесте провайдер тестовых данных в том виде, как это сделано в ProvideRetryableStatuses, то есть, извлекая данные из тестируемого класса - плохая практика (и не зря в самом начале метод retryableStatuses() был у вас объявлен как private).

Потому что, если кто-то изменит список (не важно по каким причинам и каким способом), который этот метод возвращает, тем самым нарушив контракт работы класса, то тест это никак не отследит.

В тесте лучше явно прописывать те выходные данные, которые ожидаются от тестируемой функциональности, а не путем запроса этих данных у самой функциональности. Да, это выглядит не так лаконично и изящно, но для этого тесты и нужны.

А иначе снова тестируется, что сервис возвращает то, что "должен вернуть" (заданное в самом сервисе).

Тогда зачем там вообще статусы этому тесту, если ни на что не влияют?

Если уж делать это тест правильно, то блок

doThrow(RetryableException.class)
.when(CheckRetry5xxStatuses).retry(any(Response.class), anyString());

вообще надо убрать, и прогонять сенды для всех возможных HTTP статусов и проверять, что только для шестерых "избранных" будут ретраи, а для остальных - ретраев быть не должно.

А иначе тестируется, что метод возвращает то, что "должен вернуть" (замоканное в тесте же поведение).

В тесте shouldThrownRetryException, если на вход передать параметр успешного статуса, например, 200, то тест завершится успешно, что неправильно.

А почему бы не опубликовать JSON schema вместе с API? Это сослужило бы пользу разработчикам, его использующим.
Зато s не может быть ни под каким соусом: в девятой строке уже было обращение к s. Если бы s было null, исключение бы случилось в девятой строке.

В многопоточной среде это утверждение, строго говоря, неверно.
Ссылка In-Out анимация в Android ведет не туда. Поправите?
Опровергну ваше утверждение — обеспечивает лихко. Главное — правильно настроить WiFi (подобрать железо)

NAS Synology < — LAN1Gb --> TP-Link WR1043ND < — WiFi 300 Mb --> TRENDnet TEW-664UB < — USB --> Samsung UE46C7000
Напоминает попытки наших чиновников пропихнуть отечественный автопром.
BugMeNot — автоматическая заполнялка полей логина и пароля на сайтах-форумах, где не хочется регистрироваться
Час специальный человек сбегает за новым винтом и будет ready =)
Гугл просто запасается винтами все это время, чтобы сделать полный анлим =)
паходу офис microsoft не завален игрушками =)
с помощью этой штуки можно попробовать (сам не пробовал): xupnpd
наЕбиСегодня
по-моему, не на тот сайт =)
Писал выше: samsung c7000 тянет все по воздуху без проблем по ДЛНА с ноута без транскодирования.
Качаешь торрент в папку, на папку натравливаешь ДЛНА сервер, цепляешься, выбираешь, смотришь.
Так же смотрю IPTV в HD от местного провайдера напрямую с вай-фай роутера (бес посредников).

Есть один момент: скорость сети. Я специально настраивал вай-фай сеть: купил 300 Мб роутер с тремя антенами для хорошего сигнала, адаптеыр для телека и ноута (внешний) с поддержкой 300 Мбит.

На очереди следующий трюк: торренты качаются на диск, подключенный к роутеру, затем комп можно выключать. Самсы этой серии (и некоторые другие) хакаются так, что позволяют подмаунтить внешние samba, NFS ресурсы. Маунтишь диск на роутере, смотришь.
самс с7000 играет все (пробовал BD-рипы до 20 Гб, больше не было) без транскодирования по DLNA по вафле
единственный минус DLNA — не всегда хорошо работает перемотка, но, возможно, это зависит еще и от сервера (у меня Home Media Center)
я даже настроил HMC так, что он SopCast на телек транслирует, можно нахаляву смотреть Лигу Чемпионов с НТВ+ на большом экране в приличном качестве (поток 1.5 мбит)
старый-добрый стилус…

Information

Rating
Does not participate
Location
Новосибирская обл., Россия
Registered
Activity