unittest是Python中的單元測試框架,可以用來作自動化測試框架的用例組織執(zhí)行框架,它的優(yōu)點是提供用例組織與執(zhí)行方法猎塞;提供比較方法;提供豐富的日志钙勃、清晰的報告痕囱。
unittest一個類class繼承 unittest.TestCase,就是一個測試用例。一個TestCase的實例就是一個測試用例竭缝,就是一個完整的測試流程房维。unittest所有的case以test開頭,且只會執(zhí)行以test開頭定義的方法抬纸。
#coding:utf-8
import unittest
class TestMethod(unittest.TestCase):
#每次方法之前執(zhí)行
def setUp(self):
print('test-->setup')
#每次方法之后執(zhí)行
def tearDown(self):
print('test-->tearDown')
def test_01(self):
print('這是測試方法一')
def test_02(self):
print('這是第二個測試方法')
if __name__ == '__main__':
unittest.main()
執(zhí)行結(jié)果
由此可見每次執(zhí)行case的時候都會去執(zhí)行一次setUp跟tearDown咙俩,那么我不需要每次都去執(zhí)行,只需要執(zhí)行一次怎么去處理呢湿故?
這里就要用到unittest 的類方法阿趁,這個類方法在整個測試中只執(zhí)行一次
添加類方法
#coding:utf-8
import unittest
class TestMethod(unittest.TestCase):
@classmethod
def setUpClass(cls):
print('類執(zhí)行之前的方法')
@classmethod
def tearDownClass(cls):
print('類執(zhí)行之后的方法')
#每次方法之前執(zhí)行
def setUp(self):
print('test-->setup')
#每次方法之后執(zhí)行
def tearDown(self):
print('test-->tearDown')
def test_01(self):
print('這是測試方法一')
def test_02(self):
print('這是第二個測試方法')
if __name__ == '__main__':
unittest.main()
執(zhí)行結(jié)果如下