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

start [/forum/topic.php?fid=59&fpage=113&tid=2124730]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
27ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 198ms |
| total: | 301ms |

| 0 / 0 |
