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 FilesPythonPython35python.exe" "D:Program FilesJetBrainsPyCharm 2017.2.3helperspycharm\_jb_nosetest_runner.py" --target test.py::Test
Testing started at 21:35 ...
Launching Nosetest with arguments D:Program FilesJetBrainsPyCharm 2017.2.3helperspycharm\_jb_nosetest_runner.py test.py:Test in D:workspace90duAuto

..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()
原文地址:https://www.cnblogs.com/mengyu/p/9757346.html