您好,登錄后才能下訂單哦!
這篇文章主要講解了“微信小程序單元測試的方法是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“微信小程序單元測試的方法是什么”吧!
程序設計,實現之后的下一個環節就是單元測試了。對于位置鬧鈴小程序來講,帶著設備到處移動以測試監控點的狀態遷移就是一個必經之路,但是如果所有環節都通過實地測試來解決,那將耗費大量的時間和體力。
我們的選擇是,在實地測試之前,用盡量少地代價做好單元測試。
測試對象
我們的測試對象是上一篇文章中說明的監控點狀態遷移邏輯,也就是上面序列圖右下角的enterAlarmCheck函數。這個函數可以說是這個小程序地核心。它的調用關系如下。
系統調用index的onTimer函數(實際上是一個無名函數)。
onTimer函數調用app的checkAlarms函數。
checkAlarm函數調用app的checkAlarmsImpl函數
checkAlarmsImpl調用util.getLocation函數取得現在的位置信息。
checkAlarmsImpl取得每個監控點alarm并用getLocation取得的位置信息調用alarm的checkLocation方法
alarm的checkLocation方法調用getDistance方法取得現在位置到監控點的距離。
alarm的enterAlarmCheck根據最新的距離信息進行狀態遷移處理。
測試方法
其他的都好說,這里唯一的測試難點就是位置變化,我們采用了最為簡單粗暴地方式:直接修改alarm的getDistance方法。
getDistance: function (latitude, longitude) {
var test =
[800, 700, 600, 500, 400, 300, 200, 100,
90, 80, 70, 60, 50, 40, 52, 43, 53, 81, 101,
201, 301, 401, 501, 502, 403, 304, 204, 105,
96, 87, 78, 69, 50, 41, 42, 43, 54, 89, 100,
110, 123, 145, 156]
if(this.testIndex < test.length){
return test[this.testIndex++]
}else{
return 0
}
//return util.getDistance(this.latitude, this.longitude, latitude, longitude)
},
函數的本來功能已經被屏蔽掉,直接修改為每次返回數組中的數字。通過修改數組的內容我們可以模擬各種運動情況。
也許你覺得修改uitl.getLocation函數也是一種方式,但是它有兩個問題:一是這個函數有可能在其他地方被調用,二是生成的數據必須是經緯度,很麻煩。
其實getDistance這個函數就是為了單元測試才設計出來的。
單元測試是個技術活。
感謝各位的閱讀,以上就是“微信小程序單元測試的方法是什么”的內容了,經過本文的學習后,相信大家對微信小程序單元測試的方法是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。