joda datetime測試心得

2021-09-01 21:37:25 字數 990 閱讀 9330

有些業務邏輯是基於時間的,測試起來比較麻煩,如果用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,我們使用 三問 的思想進行測試,對於測試人員了解需求會起到很...