在單元測試中,我經常有方法返回DateTime
或約now()
。有沒有辦法說actual
DateTime是在actual
DateTime的幾秒鐘內?如何測試兩個Joda-Time DateTime對象幾乎相等?
3
A
回答
2
事實證明,這是很容易與喬達時間:
Duration dur = new Duration(sender.getStartTime(), new DateTime());
assertTrue(5000 > dur.getMillis());
6
這聽起來像個壞主意。單元測試不應該以任何方式依賴於當前的實際時間......這就是爲什麼在您的類的構造函數中注入一個稱爲Clock
的接口並將其用作當前時間源的好習慣。然後在你的單元測試中,你可以使用一個特殊的實現來控制它返回的時間,從而使你的測試具有確定性。
不過,我敢肯定,你可以很容易地編寫檢查,一個DateTime
是在一定範圍內的另一個DateTime
內通過加法和減法秒的所需數量,然後比較創建新DateTime
個方法。
相關問題
- 1. 測試兩個對象是否相等
- 2. Python單元測試:測試兩個角度是否幾乎相等
- 3. 如何在xunit.net中測試兩個對象是否相等?
- 4. 如何測試python中兩個對象是否相等?
- 5. 如何在單元測試中測試兩個對象的相等性?
- 6. C++相等測試'對象'
- 7. 如何確定兩個雙打是否幾乎相等
- 8. 測試兩個對象在結構上是否相等?
- 9. 如何在C++中測試相關對象是否相等?
- 10. rx.js按結構測試對象相等
- 11. 測試ActiveSupport :: TimeWithZone對象是否相等
- 12. Grails集成測試 - 域對象相等
- 13. CoffeeScript中的測試對象相等性?
- 14. 測試兩個PersistenceContexts是否相等
- 15. 兩張表幾乎相同
- 16. 如何等待幾個對象
- 17. 如何將兩個幾乎相同的JavaScript對象合併爲一個使用Lodash的對象?
- 18. 對兩個對象做些什麼,測試結果是否相等
- 19. JodaTime:如何從DateTime對象獲取ISO格式化時間?
- 20. VBA:如何測試對象是否相等(兩個變量是否引用同一對象)
- 21. 如何測試複雜對象圖的相等性?
- 22. 如何使用xcttest測試對象相等?
- 23. 比較兩個datetime對象
- 24. 如果值幾乎相同,如何按DateTime對行進行分組?
- 25. 確定兩個對象是否相等
- 26. 兩個對象的相等性
- 27. 如何測試兩個電子郵件地址是否相等
- 28. 如何測試兩個pthread互斥體的相等性?
- 29. 在R中,如何測試兩個因素是否相等?
- 30. 如何結合兩個幾乎相似的RxJava方法?