python自动化测试框架unittest


  对于刚学习python自动化测试的小伙伴来说,unittest是一个非常适合的框架;

       通过unittest,可以管理测试用例的执行,自动生成简单的自动化测试报告;

       

  首先我们尝试编写编写一个最简单的unittest用例;

  新建一个测试类,继承unittest框架的TestCase类;

#encoding=utf-8
import unittest

class TestUnit(unittest.TestCase):

    #编写测试用例
    def test_case1(self):
        print("case1")
    def test_case2(self):
        print("case2")

if __name__ == "__main__":
    unittest.main()

  运行该代码,会得到以下结果;

  最上方的2个点,代表执行成功了2条测试用例;下方打印了用例的执行结果;

   接下来,我们尝试加入测试集合Suite,管理多个类的测试用例的运行;

  小伙伴们可以尝试用不同的方法添加用例到测试集合suite中,笔者只列举了其中2种;

#encoding=utf-8
import unittest
class TestUnit(unittest.TestCase):
    #编写测试用例
    def test_case1(self):
        print("case1")
    def test_case2(self):
        print("case2")

class TestUnit2(unittest.TestCase):
    #编写测试用例
    def test_case3(self):
        print("case3")
    def test_case4(self):
        print("case4")

def suite():
    #创建一个suite集合;
    suite = unittest.TestSuite() 
# 该方法是添加该类下的一个测试用例 suite.addTest(TestUnit("test_case2"))
# 该方法添加该类下的所有测试用例; suite.addTest(unittest.makeSuite(TestUnit2)) return suite if __name__ == "__main__": unittest.TextTestRunner(verbosity=2).run(suite())

  运行这段代码,可以看到以下结果;