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())
运行这段代码,可以看到以下结果;