日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

单元测试实践

發布時間:2024/10/12 64 豆豆
生活随笔 收集整理的這篇文章主要介紹了 单元测试实践 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

“實踐出真知”。學習了這么多理論知識之后,本節課我們將帶領大家通過具體的代碼案例深度體會單元測試在真實生產環境下的應用,包括Unittest簡單應用、Unittest復雜應用、運行測試集的用例三個方面。

Unittest簡單應用

如圖所示,這是一個要被測試的類,這個類代表了一個人,類中有一個函數為get_name(),作用是獲取這個人的名字。圍繞著這個函數首先想到的測試點就是函數能否正確輸出人名。因此就有了如下圖所示的單元測試代碼。

第一步,將使用到的unittest框架和所需要的函數導入。

第二步,針對被測試的函數寫一個測試類,這里要注意測試類必須繼承自unittest和TestCase。

第三步,構建實例化的函數,可以理解為生成兩個人,一個叫張三,一個叫李四。

第四步,編寫一個用于測試的函數,這里注意函數名必須是以test開頭。通過圖片里的代碼可以看到,通過使用assertEqual斷言來做相應的測試,斷言中包括了兩部分,第一部分是預期,第二部分是實際的值。通過對兩個值的比較來完成測試。

Unittest復雜應用

下面來看一個復雜的例子。如圖所示,這個被測試的類是一個公司。這個公司的信息包含了公司的名字、公司的老板、公司的員工數。在這個公司的類中設置了三個函數,老板是誰、雇傭一個新員工、解雇一個員工。通過這些信息,可以想到的測試點有:

(1)who_is_boss()這個函數能夠正確的返回老板的姓名;

(2)使用hire()函數雇傭新人,公司的員工總數+1;

(3)使用hire()函數重復雇傭一個人,函數會報錯或者公司員工數量不變;

(4)使用fire()函數解雇一個人,公司的員工總數-1;

(5)使用fire()函數解雇非公司的員工,函數會報錯或者員工數量不變。

針對以上的幾個測試點,可以編寫出相應的測試類。

首先將所需要的類庫導入,并且測試類要繼承自unittest和TestCase。然后使用setUpClass()函數構建一個公司,設置老板的姓名和公司的名字。在這里設置了一個tearDown()清理函數,是為了方便測試的時候將員工全部清理掉。

通過圖片可以看到,下面的三個函數原理基本跟上一個案例相同,都是通過斷言來進行測試。測試類編寫完成之后,需要運行這個類進行測試。如果需要執行全部的測試用例,如圖所示,使用unittest.main()這個函數且不需要添加任何參數。執行完成后會得到如下圖所示的結果,測試結果分為幾個部分:

第一部分的代碼展示的是執行測試用例的結果,“.”說明測試用例執行通過,“E”說明測試用例發生了特殊情況異常中斷,“F”說明測試用例執行失敗。

第二部分則是打印的報錯信息,當出現“E”或者“F”的時候,系統會打印出異常中斷和執行失敗的原因。

第三部分為統計信息,包括了共執行了幾個測試用例,測試用例執行共花費了多少時間,測試用例執行成功或失敗的數量。

運行測試集的用例

在真實應用過程中,可能會出現測試用例太多、執行一輪測試用例花費的時間太長或者只想執行部分測試用例的情況,在這些情況下,就需要使用測試集進行測試。

上圖中是一個測試集函數的代碼,它包括了以下幾個部分:

→ 首先生成一個測試集。

→ 然后使用addTest()方法將測試用例加入到測試集中

最后編寫測試集返回語句。,

這樣就完成了一個測試集的構建。在執行測試集的時候,使用圖中的代碼,在unittest_main()中加入參數,即可完成測試集的運行。

以上就是有關于單元測試實踐的全部內容啦,希望通過案列的講解,你能對理論知識掌握的更加深刻!

點擊進入獲得更多技術信息~~

總結

以上是生活随笔為你收集整理的单元测试实践的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。