代码改变世界

unittest pytest的用法

2022-03-28 15:48  起个昵称  阅读(31)  评论(0编辑  收藏  举报

unittest

前置后置。  测试用例级别、测试类级别

 1 import unittest
 2 
 3 class TestDemo(unittest.TestCase):
 4 
 5     def setUp(self) -> None:   # 返回None,提示作用
 6         print("用例级Start...")
 7 
 8     def tearDown(self) -> None:
 9         print("用例级End...")
10 
11     @classmethod
12     def setUpClass(cls) -> None:
13         print("测试类级别Start...")
14 
15     @classmethod
16     def tearDownClass(cls) -> None:
17         print("测试类级别End...")
18 
19     def test_usecase(self):
20         print("this is test case")

main.py 。 收集用例 -> 执行用例 -> 生成报告

discover()  这里填入路径,运行时,会在这个路径下查找test*.py的文件作为执行的测试用例,可根据需求定位路径

1 import unittest
2 from BeautifulReport import BeautifulReport
3 
4 # 收集用例
5 s = unittest.TestLoader().discover(工程根目录) 
6 # 执行和生成报告
7 br = BeautifulReport(s)
8 br.report('xxx测试报告', 'report.html')

数据驱动。 ddt

 1 import unittest
 2 from ddt import ddt, data
 3 
 4 datas = [
 5     {'username': 'user1', 'psw': '123456'},
 6     {'username': 'user1', 'psw': '123456'},
 7     {'username': 'user1', 'psw': '123456'}
 8 ]
 9 
10 @ddt
11 class TestDemo(unittest.TestCase):
12 
13     @data(*datas)
14     def test_usecase(self, data):
15         print(f"username is {datas['username']}, password is {datas['psw']}")

 

 

 

 

 

pytest