|
|
|
Юниттесты логики, завязанной на время - как?
|
|||
|---|---|---|---|
|
#18+
Существуют ли какие-нибудь либы, позволяющие "ускорить" течение времени. Чтобы можно было юнит тестом протестить код, завязанный на System.currenttimeMillis(), на ScheduledExecutorService-ы, которым делается scheduleWithFixedDelay и тд? Например, что-то типа такого. Юзер запускат поток, который последовательно говорит некоторому обьекту, который сейчас час. При этом либа подстраивает System.currenttimeMillis() и во всех ScheduledExecutorService-ах вызываются таски, которым пришло время вызваться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2015, 18:43 |
|
||
|
Юниттесты логики, завязанной на время - как?
|
|||
|---|---|---|---|
|
#18+
в RxJava что-то такое видал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2015, 19:00 |
|
||
|
Юниттесты логики, завязанной на время - как?
|
|||
|---|---|---|---|
|
#18+
chabapok, На сколько я понял, все рекомендуют выделять переменные значения времени в параметры, чтобы просто задавать значения времени. Тестировать сам ScheduledExecutorService вы же не планируете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2015, 19:02 |
|
||
|
Юниттесты логики, завязанной на время - как?
|
|||
|---|---|---|---|
|
#18+
Если получать время не из System объекта а из своего то пожалуй можно. Тут просто весь вопрос в том насколько "глубока кроличья нора". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2015, 19:50 |
|
||
|
Юниттесты логики, завязанной на время - как?
|
|||
|---|---|---|---|
|
#18+
Blazkowiczchabapok, На сколько я понял, все рекомендуют выделять переменные значения времени в параметры, чтобы просто задавать значения времени. Тестировать сам ScheduledExecutorService вы же не планируете? ScheduledExecutorService - это интерфейс, который умеет запускать задачи через определенное время. Делать свою его реализацию - это изобретать велосипед, и очевидно - тестировать. Городить свои велосипеды неохота. Хотелось воспользоваться готовой либой. Ушел читать про RxJava ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 01:53 |
|
||
|
Юниттесты логики, завязанной на время - как?
|
|||
|---|---|---|---|
|
#18+
chabapokScheduledExecutorService - это интерфейс, который умеет запускать задачи через определенное время. Делать свою его реализацию - это изобретать велосипед, и очевидно - тестировать. Нужно свой код писать так, чтобы он тестировался без надобности тестировать ScheduledExecutorService. chabapokУшел читать про RxJava AFAIK, это совсем не то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 09:24 |
|
||
|
|

start [/forum/topic.php?fid=59&gotonew=1&tid=2124730]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
151ms |
get topic data: |
10ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 459ms |

| 0 / 0 |
