Codice legato al tempo di test unitari
https://softwareengineering.stackexchange.com/questions/156130
-
04-11-2019 - |
Domanda
Attualmente sto lavorando a un'applicazione che fa molte operazioni a tempo. Cioè, basato su long now = System.currentTimeMillis();
, e combinato con uno scheduler, calcolerà i periodi di tempo che parametrizzano l'esecuzione di alcune operazioni. per esempio:
public void execute(...) { // executed by an scheduler each x minutes
final int now = (int) TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis());
final int alignedTime = now - now % getFrequency() ;
final int startTime = alignedTime - 2 * getFrequency();
final int endTimeSecs = alignedTime - getFrequency();
uploadData(target, startTime, endTimeSecs);
}
La maggior parte dell'applicazione è testata unitaria indipendentemente dal tempo (in questo caso, uploadData
ha un test unitario naturale), ma mi chiedevo delle migliori pratiche per testare parti legate al tempo che si basano System.currentTimeMillis()
?
Nessuna soluzione corretta
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a softwareengineering.stackexchange