固定套件:
-
unittest module
包含了編寫運(yùn)行unittest
的功能咒循,自定義的test class
都要集成unitest.TestCase
類量窘,test method
要以test
開頭,運(yùn)行順序根據(jù)test method的名字排序尿孔,特殊方法:
①setup()
:每個(gè)測(cè)試函數(shù)運(yùn)行前運(yùn)行
②teardown()
:每個(gè)測(cè)試函數(shù)運(yùn)行完后執(zhí)行
③setUpClass()
:必須使用@classmethod
裝飾器,所有test運(yùn)行前運(yùn)行一次
④tearDownClass()
:必須使用@classmethod
裝飾器,所有test運(yùn)行完后運(yùn)行一次
裝飾器
- 可以使用
unitest.skip
裝飾器族跳過test method
或者test class
,這些裝飾器包括:
①@unittest.skip(reason)
:無條件跳過測(cè)試评架,reason
描述為什么跳過測(cè)試
②@unittest.skipif(conditition,reason)
:condititon
為true
時(shí)跳過測(cè)試: 這里完全可以應(yīng)用條件去控制用例是否執(zhí)行了,很靈活
③@unittest.skipunless(condition,reason)
:condition
不是true
時(shí)跳過測(cè)試
class MyTestCase(unittest.TestCase):
@unittest.skip("demonstrating skipping")
def test_nothing(self):
self.fail("shouldn't happen")
@unittest.skipIf(mylib.__version__ < (1, 3),
"not supported in this library version")
def test_format(self):
# Tests that work for only a certain version of the library.
pass
@unittest.skipUnless(sys.platform.startswith("win"), "requires Windows")
def test_windows_support(self):
# windows specific testing code
pass
@unittest.skip("showing class skipping")
class MySkippedTestCase(unittest.TestCase):
def test_not_run(self):
pass
-
expected failure
:使用@unittest.expectedFailure
裝飾器筷凤,如果test失敗了,這個(gè)test不計(jì)入失敗的case數(shù)目
@陰天-2017-01-17 17:50:40