有些業務邏輯是基於時間的,測試起來比較麻煩,如果用joda datetime就很容易了
比如: 在new report中有這樣的邏輯:
public report(double energytotal, double outputenergy, double outputpower, string clientid, reportquerytype type)
欄位的賦值用的是系統當前時間, 如何測試?
用joda datetime 時可以這樣
// given
datetime date = now().withtimeatstartofday();
listhourlyreports = newarraylist();
setcurrentmillisfixed(date.withhourofday(1).getmillis());
hourlyreports.add(build******report("inverter1", 200, 20, 10, date_trend));
setcurrentmillisfixed(date.withhourofday(2).getmillis());
hourlyreports.add(build******report("inverter1", 201, 21, 11, date_trend));
setcurrentmillisfixed(date.withhourofday(3).getmillis());
hourlyreports.add(build******report("inverter1", 202, 22, 12, date_trend));
setcurrentmillissystem();
注意這裡
setcurrentmillisfixed(......);指定當前系統時間的值
setcurrentmillissystem();恢復當前系統時間為正常的系統時間.
Joda DateTime常用方法
1 將字串轉換為時間 datetimeformatter forpattern datetimeformat.forpattern yyyy mm dd datetime datetime forpattern.parsedatetime 2018 01 01 format datetimeform...
心形函式 封心
這個是 html5實驗室 canvas世界 中的乙個例子,最大的收穫當然是心形函式 x 2 y 2 1 x 2 y 3 0。有了前面幾個動畫做鋪墊,這個還是比較容易就完成了,沒有遇到什麼奇特的問題。不過也因為比較輕鬆,的組織不是很認真,也不想去改了。值得一提的是這個動畫很容易另行發揮,我在除錯的過程...
軟體測試自我修養(一) 修心三問
授人以魚,不如授之以漁 說的是傳授給人知識,不如傳授給人學習知識的方法。今天我想針對於此從思維層面再做乙個昇華 授之以漁,則先令人悟之 做好軟體測試,首先具備的修養是需要弄明白三個問題。這就是上面講到要的 悟 假如開發人員修改提交了bug,我們使用 三問 的思想進行測試,對於測試人員了解需求會起到很...