Skip to content

Latest commit

 

History

History

thread_sleep

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Используется Thread#sleep

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

Этот наивный подход будет работать, но он сильно замедлит выполнение тестов. А что, если должен пройти час, прежде чем проверять значение?

Проблемы

Тесты выполняются очень долго.

Нельзя протестировать очень долгие интервалы.

Теория

Время это одна из зависимостей проверяемой системы. Если вынести зависимость в специальный класс, то время можно будет контролировать.

Что делать

Использовать собственного контролируемого поставщика времени.

В Android можнно воспользоваться ShadowSystemTime из Robolectric.