Když je v testech potřeba posouvat čas. Bývá to poměrně pracné většinou člověk skončí s tím že píše nějaký "DateProvider", který se pak dá namockovat.
Ve spoustě případů se dá použít jednoduchá alternativa a využít Joda Time
Joda Time nabízí funkci DateTimeUtils.setCurrentMillisProvider(MillisProvider millisProvider) (a i další funkce setCurrentMillisFixed, setCurrentMillisOffset), kterými jde snadno říct, jak se má čas v testech chovat.
Po testu se musí čas zase vrátit do normálu!!! :) funkcí DateTimeUtils.setCurrentMillisSystem()
V kódu se musí samozřejmě zjištovat čas přes Joda Time (např. new DateTime()).
A to je ve stručnosti vše.
Žádné komentáře:
Okomentovat