2017-03-05 76 views
0

在Spring Data和Spring Data REST項目中測試時間依賴業務邏輯的最佳實踐是什麼? 如何在一種測試方法中設置不同的「系統」時間?如何測試彈簧數據和彈簧數據休息項目中的時間依賴業務邏輯?

例如 - 我們有兩種不同的算法來解決同一個任務 - 一個算法直到11-00,另一個算法 - 在11-00之後。

,或者我們必須只在星期一被執行的任務......

+1

[時間依賴的單元測試](http://stackoverflow.com/questions/5622194/time-dependent-unit-tests) –

回答

0

如果一個方法取決於當前日期或時間,添加當前時間爲參數:

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

的真正的代碼調用doSomething(LocalDateTime.now())這種方法。 測試調用此方法用「測試日期」

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

感謝的可能的複製你的答案,但它不適合這種情況。 (你有沒有Spring數據或SDR的經驗?) – Cepr0

+0

我多次使用了一些基本功能。你有一個例子嗎? –

+0

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