一直用的是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 執行...