TA的每日心情 | 无聊 昨天 09:11 |
---|
签到天数: 936 天 连续签到: 3 天 [LV.10]测试总司令
|
前言
在我们实际工作当中,我们经常会用到unittest框架来执行用例,进行冒烟测试。如果你不懂冒烟测试。
通过unittest.main()来执行测试用例的方式:
- import unittest
-
- class UCTestCase(unittest.TestCase):
- def setUp(self):
- #测试前需执行的操作
- .....
- def tearDown(self):
- #测试用例执行完后所需执行的操作
-
- # 测试用例1
- def test1(self):
- #具体的测试脚本
-
- # 测试用例2
- def test2(self):
- #具体的测试脚本
-
- if __name__ == "__main__":
- # 运行所有的用例
- unittest.main()
复制代码 通过testsuit来执行测试用例的方式:
如果想只想运用某一个用例呢?怎么办?使用套件然后传入测试用例的方法名即可,看实例:
- import unittest
- # 执行测试的类
- class UCTestCase(unittest.TestCase):
- def setUp(self):
- #测试前需执行的操作
-
- def tearDown(self):
- #测试用例执行完后所需执行的操作
-
- # 测试用例1
- def test1(self):
- #具体的测试脚本
-
- # 测试用例2
- def test2(self):
- #具体的测试脚本
-
- if __name__ == "__main__":
- # 构造测试集
- suite = unittest.TestSuite()
- suite.addTest(UCTestCase("test1"))
- suite.addTest(UCTestCase("test2"))
- # 执行测试
- runner = unittest.TextTestRunner()
- runner.run(suite)
复制代码 通过testLoader方式:
如果有多个类的情况下,我想运行某个类下面的测试用例呢?通过testLoader:
- import unittest
- class TestCase1(unittest.TestCase):
- def testCase1(self):
- print("a")
- def testCase2(self):
- print("b")
-
- class TestCase2(unittest.TestCase):
- def testCase1(self):
- print("a1")
- def testCase2(self):
- print("b1")
-
- if __name__ == "__main__":
- #此用法可以同时测试多个类
- suite1 = unittest.TestLoader().loadTestsFromTestCase(TestCase1)
- suite2 = unittest.TestLoader().loadTestsFromTestCase(TestCase2)
- suite = unittest.TestSuite([suite1, suite2])
复制代码 通过discover方式加载某路径下的所有测试用例
import unittest
# discover可以一次调用多个脚本
# test_dir 被测试脚本的路径
# pattern 脚本名称匹配规则
test_dir = "./test_case"
discover = unittest.defaultTestLoader.discover(test_dir, pattern="test*.py")
# 匹配test_case目录下所有以test开头的py文件,执行这些py文件下的所有测试用例
if __name__ == "__main__":
runner=unittest.TextTestRunner()
runner.run(discover)
|
|