單元測試理解· 1

xuao發表於2017-05-04

單元測試

1.單元測試是用來幹什麼的,為什麼需要單元測試?

單元測試 給 編寫程式的人提供了一個基本保證,它能最起碼保證你的程式碼是正確的能夠完成你想讓他完成的任務的;舉個例子,當你做完一個新增商品的功能的時候,你去介面上新增了一個商品,然後在商品列表裡邊沒發現這個商品,也沒有錯誤資訊,那麼你能確定問題是出在新增的時候?獲取列表的時候?還是許可權判定或是其他地方嗎?

單元測試就能幫助你快速查詢到到底是具體哪個步驟出來問題,前提是你需要為各個步驟做單元測試;就好像一輛車走在路上突然不動了,你不知道哪個零件出了問題。這時候大多數人怎麼辦呢?按照流程去一步一步除錯,看是哪個部分出現了問題。但是聰明的人會想到,我為什麼不用單元測試呢?

當然如果單元測試沒有測試出來哪出問題了,那麼就麻煩了,要麼是你的測試程式寫的有問題,要麼是你的業務邏輯出現了問題。 單元測試並不能測試邏輯錯誤;

2.單元測試比較重要的概念 —— 基境

基境。從名字上猜測它的含義,就是基本的環境,就好比植物需要陽光,人需要空氣,測試要想正常執行,也需要依賴於一定的環境, 比如說,你想測試 一個商品有沒有正常的分類;那麼前提是你得有分類去支撐這個測試的進行;

基境,可以是一個陣列,可以是一個檔案系統,也可以是一個資料庫;

3.怎麼去做單元測試

這部分我想說的是,怎麼通過一系列的測試去保證一個功能的正常執行;你做一個功能可能會有很多步驟。
舉個例子:我需要新增一個審批的申請;
驗證資料 --> 匹配流程 --> 篩選流程 --> 新增資料 --> 獲取審批人 --> 新增日誌
那麼我們就需要把這六個步驟拆分出來(可以看出,單元測試對於我們寫程式碼也有一定幫助),然後分別去測試,當新增申請出問題的時候,去看是不是這六個 步驟出了問題;
物件導向的話就需要去對 功能需要的物件一一測試;

暫時想到的就這些,以後有深入體會會繼續記錄;

相關文章