關於unittest測試框架的使用

2021-10-10 20:33:37 字數 2356 閱讀 3558

一直用的是pytest,公司介面自動化用的是unittest,孰勝孰劣不好分析,但是都要學習,適應環境才能得到提高。

testcase是測試用例類,所有執行用例的類都要繼承unittest.testcase類:

class test(unittest.testcase):
每乙個繼承unittest.testcase的子類,都是乙個測試用例

class

test

(unittest.testcase)

:def

test_01

(self)

: self._testmethodname =

'測試01'

print

(self._testmethodname)

deftest_02

(self)

: self._testmethodname =

'測試02'

print

(self._testmethodname)

if __name__ ==

'__main__'

: unittest.main(

)

unittest.main()執行的時候會去執行test』開頭的方法,結果如下:

ok

測試01

測試02

@paramunittest.parametrized(

('1'

,'2'),

(3,4

),(5

,6))

引數化是把所需要的引數用元組的形式傳參,()裡面的內容可以是像上面填寫的一樣,也可以讀取excel進行拼裝,但是合適一定是元組形式,setparasemeters是引數化所必須的方法,目的是將引數化的引數傳遞進來

@paramunittest.parametrized(

('1'

,'2'),

(3,4

),(5

,6))

class

test

(unittest.testcase)

:def

setparasemeters

(self, a, b)

: self.a = a

self.b = b

deftest_01

(self)

:print

(self.a + self.b)

if __name__ ==

'__main__'

: unittest.main(

)

執行結果如下,會按照引數化給定的引數,去執行n遍:

12

711

引數化裡面的用例每次執行開始和結束都會執行,可以在裡面做一些資料處理

@paramunittest.parametrized(

('1'

,'2'),

(3,4

),(5

,6))

class

test

(unittest.testcase)

:def

setparameters

(self, a, b)

: self.a = a

self.b = b

defsetup

(self)

->

none

:print

('測試開始'

)def

test_01

(self)

:# self._testmethodname = '測試01'

# self._testmethoddoc = self.a

print

(self.a + self.b)

defteardown

(self)

->

none

:print

('測試結束'

)if __name__ ==

'__main__'

: unittest.main(

)

`discover`unittest.defaulttestloader.discover(start_dir=

'test1'

,pattern=

'*.py'

, top_level_dir=

none

)

UnitTest測試框架

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

unittest測試框架之測試程式執行的啟動檔案

導包import unittest第一步 建立乙個測試套件suite unittest.testsuite 第二步 將測試用例載入到測試套件中 第 種 通過模組去載入用例loader unittest.testloader testcases 測試用例模組名 suite.addtest loader...

Unit Test測試框架中的測試的執行順序

classinitialize classcleanup testinitialize testmethod testcleanup 在執行乙個或多個 testmethod 輸出時,classinitialize 最先執行,classcleanup 最後執行,對於執行每個 testmethod 執行...