2017-03-05 1 views
0

Welche Best Practices testen die zeitabhängige Geschäftslogik in REST-Projekten für Spring Data und Spring Data? Wie kann man verschiedene "System" -Zeiten in einer Testmethode einstellen?Wie testet man die zeitabhängige Geschäftslogik in Federdaten- und Federdatenruhe-Projekten?

Zum Beispiel - wir haben zwei verschiedene Algorithmen, um die gleiche Aufgabe zu lösen - ein Algorithmus wird bis 11-00 verwendet, ein anderer - nach 11-00.

Oder wir haben eine Aufgabe, die nur am Montag durchgeführt werden muß ...

+1

Mögliche Duplikat [Zeitabhängige Unit-Tests] (http://stackoverflow.com/questions/5622194/time-dependent-unit-tests) –

Antwort

0

Wenn eine Methode auf dem aktuellen Datum oder Zeit abhängig ist, fügen Sie die aktuelle Zeit als Parameter:

public void doSomething(LocalDateTime now) { 
    // does something time-dependent 
} 

Der realer Code ruft diese Methode mit doSomething(LocalDateTime.now()) auf. Die Tests aufrufen diese Methode mit "Testdaten"

doSomething(LocalDateTime.of(2017, 3, 5, 13, 37)); // Sunday 
doSomething(LocalDateTime.of(2017, 3, 6, 13, 37)); // Monday 
+0

Vielen Dank für Ihre Antwort, aber es ist nicht für diese Situation geeignet. (Haben Sie eine Erfahrung in Spring Data oder SDR?) – Cepr0

+0

Ich habe einige grundlegende Funktionen mehrmals verwendet. Hast du ein Beispiel? –

+0

https://spring.io/guides/gs/accessing-data-jpa/ https://spring.io/guides/gs/accessing-data-rest/ – Cepr0