powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Юниттесты логики, завязанной на время - как?
6 сообщений из 6, страница 1 из 1
Юниттесты логики, завязанной на время - как?
    #39093117
chabapok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Существуют ли какие-нибудь либы, позволяющие "ускорить" течение времени. Чтобы можно было юнит тестом протестить код, завязанный на System.currenttimeMillis(), на ScheduledExecutorService-ы, которым делается scheduleWithFixedDelay и тд?

Например, что-то типа такого. Юзер запускат поток, который последовательно говорит некоторому обьекту, который сейчас час. При этом либа подстраивает System.currenttimeMillis() и во всех ScheduledExecutorService-ах вызываются таски, которым пришло время вызваться.
...
Рейтинг: 0 / 0
Юниттесты логики, завязанной на время - как?
    #39093142
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в RxJava что-то такое видал
...
Рейтинг: 0 / 0
Юниттесты логики, завязанной на время - как?
    #39093145
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chabapok,

На сколько я понял, все рекомендуют выделять переменные значения времени в параметры, чтобы просто задавать значения времени. Тестировать сам ScheduledExecutorService вы же не планируете?
...
Рейтинг: 0 / 0
Юниттесты логики, завязанной на время - как?
    #39093181
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если получать время не из System объекта а из своего то пожалуй можно. Тут просто
весь вопрос в том насколько "глубока кроличья нора".
...
Рейтинг: 0 / 0
Юниттесты логики, завязанной на время - как?
    #39093276
chabapok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczchabapok,

На сколько я понял, все рекомендуют выделять переменные значения времени в параметры, чтобы просто задавать значения времени. Тестировать сам ScheduledExecutorService вы же не планируете?

ScheduledExecutorService - это интерфейс, который умеет запускать задачи через определенное время. Делать свою его реализацию - это изобретать велосипед, и очевидно - тестировать.

Городить свои велосипеды неохота. Хотелось воспользоваться готовой либой.

Ушел читать про RxJava
...
Рейтинг: 0 / 0
Юниттесты логики, завязанной на время - как?
    #39093376
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chabapokScheduledExecutorService - это интерфейс, который умеет запускать задачи через определенное время. Делать свою его реализацию - это изобретать велосипед, и очевидно - тестировать.

Нужно свой код писать так, чтобы он тестировался без надобности тестировать ScheduledExecutorService.

chabapokУшел читать про RxJava
AFAIK, это совсем не то.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Юниттесты логики, завязанной на время - как?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]