python學習筆記之——unittest框架

unittest是python自帶的單元測試框架,儘管其主要是爲單元測試服務的,但咱們也能夠用它來作UI自動化測試和接口的自動化測試。python

unittest框架爲咱們編寫用例提供了以下的能力框架

  • 定義用例的能力。unittest框架有一套固有套路,可讓咱們定義測試用例時更加簡單和統一單元測試

  • 斷言的能力。unittest框架提供了一系列的斷言測試

  • 各類執行策略。經過test suit或者擴展的方式,咱們能夠自定義用例執行的策略ui

舉例:spa

import unittest
class TestCase(unittest.TestCase):
    def setUp(self):
        self.str1="abc"

    def testC(self):
        self.assertEqual("ABC",self.str1.upper())

if __name__=="__main__":
    unittest.main()

例子說明:code

import unittest

首先要導入unittest庫,導入以後纔可以使用對象

class TestCase(unittest.TestCase):

定義測試類,類型規範是搜字母須要大寫。全部的測試類都必須直接或間接的繼承自unittest.TestCaseblog

def setUp(self):
        self.str1="abc"

setUp(self)方法是一個鉤子方法,在每一個測試用例執行以前都會執行一次,是作數據初始化的好地方。在上面的例子裏,咱們爲每個測試方法都定義了被測對象,self.test_string繼承

def testC(self):
        self.assertEqual("ABC",self.str1.upper())

這裏定義了一個名爲testC的測試方法,這個方法就是一個測試用例。注意,只有方法名以test開頭的方法纔是測試用例。self.assertEqual是一個斷言方法,做用是若是第一個參數跟第二個參數相等,那麼用例經過,不然用例失敗,並在測試報告中打印出錯誤緣由。上面例子中self.str1.upper()先把abc轉化成大寫的ABC,而後合ABC對比,結果是相等的。

if __name__=="__main__":
    unittest.main()

上面的代碼表示,若是直接執行該python文件的話,就運行全部的測試類裏的測試用例,也就是運行全部的以test開頭的方法。

總結

使用unittest的話須要記住下面的幾點:

  • 導入unittest
  • 定義繼承自unittest.TestCase的測試類
  • 定義以test開頭的測試方法,這個方法就是測試用例,你能夠在一個類裏定義n個測試用例
  • 斷言
  • unittest.main()是執行測試用例最簡單的方式
相關文章
相關標籤/搜索