python unittest setUp 和 setUpClass 区别

时间:2023-03-09 00:02:58
python unittest setUp 和 setUpClass 区别
import unittest

class Test(unittest.TestCase):
def setUp(self):
print("start!=======") def test01(self):
print("执行测试用例01") def test03(self):
print("执行测试用例03") def test02(self):
print("执行测试用例02") def addtest(self):
print("add方法") def tearDown(self):
print("end-------------------!") if __name__ == "__main__":
unittest.main()

每次执行测试用例的时候都会去执行一次setUp 和tearDown,执行脚本结果如下

"D:\Program Files\Python\Python35\python.exe" "D:\Program Files\JetBrains\PyCharm 2017.2.3\helpers\pycharm\_jb_nosetest_runner.py" --target test.py::Test
Testing started at 21:35 ...
Launching Nosetest with arguments D:\Program Files\JetBrains\PyCharm 2017.2.3\helpers\pycharm\_jb_nosetest_runner.py test.py:Test in D:\workspace\90duAuto ..start!=======
执行测试用例01
end-------------------!
start!=======
执行测试用例02
end-------------------!
start!=======
执行测试用例03
end-------------------!
.
----------------------------------------------------------------------
Ran 3 tests in 0.016s OK Process finished with exit code 0

下面我们在看下setUpClass和tearDownClass,而这个只有在开始和结束的时候执行一次

import unittest

class Test(unittest.TestCase):
@classmethod
def setUpClass(cls):
print("start===============!") def test01(self):
print("执行测试用例01") def test03(self):
print("执行测试用例03") def test02(self):
print("执行测试用例02") def addtest(self):
print("add方法") @classmethod
def tearDownClass(cls):
print("end!===================") if __name__ == "__main__":
unittest.main()