unittest框架學習

2021-08-25 13:54:45 字數 1489 閱讀 2710

一、unittest中最核心的四部分是:testcase,testsuite,testrunner,testfixture

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

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

(3)testloader是用來載入testcase到testsuite中的。

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

(5)測試的結果會儲存到texttestresult例項中,包括執行了多少測試用例,成功了多少,失敗了多少等資訊。

綜上,整個流程就是首先要寫好testcase,然後由testloader載入testcase到testsuite,然後由texttestrunner來執行testsuite,執行的結果儲存在texttestresult中,整個過程整合在unittest.main模組中。

二、skip裝飾器一共有三個

(1)unittest,skip(reason):無條件跳過

(2)unittest.skipif(condition, reason):當condition為true時跳過

(3)unittest.skipunless(condition, reason):當condition為false時跳過

三、總結

(1)verbosity引數可以控制執行結果的輸出,0 是簡單報告、1 是一般報告、2 是詳細報告。

(2)引數中加stream,可以將報告輸出到檔案:可以用texttestrunner輸出txt報告,以及可以用htmltestrunner輸出html報告。

(3)每個測試方法均以test開頭,否則不能被unittest識別

(4)**

suite = unittest.testsuite()

suite.addtests(unittest.testloader().loadtestsfromtestcase(testele))

now = time.strftime('%y-%m-%d', time.localtime(time.time()))

test_dir = r'e:\code\auto'

filename = test_dir + '/' + now + 'test_result.html'

fp = file(filename,'wb')

runner = htmltestrunner(stream=fp, title=u'自動化測試', description= u'測試結果',verbosity=2)

runner.run(suite)

UnitTest測試框架

unittest是目前應用都相對較高的測試框架之一,主要用於管理測試用例,最初是應用於單元測試,現在可以進行ui 介面自動化測試。它是python內建的乙個測試框架。unittest包含四大元件 1.匯入環境 import unittest2.unittest有基本語法規則 a.繼承自unittes...

unittest單元測框架

django預設使用python的標準庫unittest編寫測試用例。學習django單元測試之前,先學習下unittest單元測試框架的基本使用。下面實現乙個簡單的單元測試1.簡單的加法和減法功能實現,module.py 如下 encoding utf 8 class calculator doc...

Unittest框架基礎應用

unittest語法規則 1 unittest中,測試用例定義以test 開頭 2 用例排序與寫的無關,排序是遵循a z,a z,0 9,系統會根據這個給你排序測試類的前置後置條件 需要新增classmethod 基於測試用例的前置後置條件 unittest常用斷言 序號 方法 1 asserteq...