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()

 

posted on 2018-10-08 21:40  梦雨情殇  阅读(2482)  评论(0编辑  收藏  举报

导航