unittests相關內容

2022-09-09 04:51:11 字數 2322 閱讀 4465

unittest是python單元測試框架,類似於junit框架。

unittest中有4個重要的概念:test fixture, test case, test suite, test runner

乙個testcase的例項就是乙個測試用例。什麼是測試用例呢?就是乙個完整的測試流程,包括測試前準備環境的搭建(setup),執行測試** (run),以及測試後環境的還原(teardown)。元測試(unit test)的本質也就在這裡,乙個測試用例是乙個完整的測試單元,通過執行這個測試單元,可以對某乙個問題進行驗證。

多個測試用例集合在一起,就是testsuite,而且testsuite也可以巢狀testsuite。

是來執行測試用例的,其中的run(test)會執行testsuite/testcase中的run(result)方法。

是用來載入testcase到testsuite中的,其中有幾個loadtestsfrom__()方法,就是從各個地方尋找testcase,建立它們的例項,然後add到testsuite中,再返回乙個testsuite例項。

對乙個測試用例環境的搭建和銷毀,是乙個fixture,通過覆蓋 testcase的setup()和teardown()方法來實現。這個有什麼用呢?比如說在這個測試用例中需要訪問資料庫,那麼可以在setup() 中建立資料庫連線以及進行一些初始化,在teardown()中清除在資料庫中產生的資料,然後關閉連線。注意teardown的過程很重要,要為以後的 testcase留下乙個乾淨的環境。關於fixture,還有乙個專門的庫函式叫做fixtures,功能更加強大。

1.判斷結果是否相同

assertequal(a, b)     a == b

2.判斷結果是否不相同

assertnotequal(a, b)     a != b

3.判斷結果是否為ture

asserttrue(x)     bool(x) is true

4.判斷結果是否為false

assertfalse(x)     bool(x) is false

5.判斷結果a是否為b

assertis(a, b)     a is b

6.判斷結果a是否不為b

assertisnot(a, b)     a is not b

7.判斷結果是否為空

assertisnone(x)     x is none

8.判斷結果是否不為空

assertisnotnone(x)     x is not none

9.判斷結果是否在這些資料裡

assertin(a, b)     a in b

10.判斷結果是否不在這些資料裡

assertnotin(a, b)     a not in b

11.判斷a是否為b的乙個例項

assertisinstance(a, b)     isinstance(a, b)

12.判斷a是否不為b的乙個例項

assertnotisinstance(a, b)     not isinstance(a, b)

1.用import unittest匯入unittest模組

2.定義乙個繼承自unittest.testcase的測試用例類,如class ***(unittest.testcase):

3.定義setup和teardown,這兩個方法與junit相同,即如果定義了則會在每個測試case執行前先執行setup方法,執行完畢後執行teardown方法。

4.定義測試用例,名字以test開頭,unittest會自動將test開頭的方法放入測試用例集中。

5.乙個測試用例應該只測試乙個方面,測試目的和測試內容應很明確。主要是呼叫assertequal、assertraises等斷言方法判斷程式執行結果和預期值是否相符。

6.呼叫unittest.main()啟動測試

7.如果測試未通過,則會顯示e,並給出具體的錯誤(此處為程式問題導致)。如果測試失敗則顯示為f,測試通過為.,如有多個testcase,則結果依次顯示

ORACLE相關內容

1 em,dbca,netca,netmgr出現亂碼方案 cd oracle home jre lib mv font.properties font.properties.bak mv font.properties.zh font.properties em,dbca,netca,netmgr詳...

JVM相關內容

本地 native code 每個因素對記憶體占用的影響又會隨著應用程式 執行環境和系統平台的不同而變化,那怎樣計算總的記憶體佔用量?是的,想得到乙個準確的數字不是那麼容易,因為 你很難控制本地 native 部分。你能控制的部分只有堆大小 xmx,類占用的記憶體 xx maxpermsize,還有...

指標相關內容

1.指標是變數,佔4位元組,存放的是位址 2.指標型別與零值比較 if n null 或者if n null 3.野指標 int p 空指標 int p null 避免野指標 以char型別為例 char p char mallloc sizeof char 10 要包含標頭檔案 include 使...