pytest学习小结

 





#pytest不要和unitest混用
# pytest不能继承unittest.TestCase
# pytest不能用setUpClass tearDownClass setUp tearDown
# pytest的前置和后置用一个单独的文件conftest来管理,里面可以自己定位前置和后置条件,
# 且可以将定义函数的返回值返回来
# pytest不能用ddt,因为pytest数据驱动有自己的方式
# pytest可以通过打标签来实现运行不同的用例,比如smoke冒烟用例
#pytest 和unittest断言方式不一样
# pytest 直接使用 assert
# unittest 使用 self.xxx
# pytest控制用例的执行顺序,只能通过移动函数在文件中的位置来做,不是通过函数名称来排序执行的
# (登录用例由于在设计时候只打开一次浏览器,所以必须要将登录异常用例放在正常用例的前面)
# pytest -s 命令是将打印的日志输出到控制台
# pytest -m 命令是执行过滤的用例
#pytest生成测试报告 xml / html 格式
# pytest --reruns 2 --reruns-delay 5 -s --junitxml=OutPuts/reports/report.xml --html=OutPuts/reports/html_report.html
# 仅仅在控制台输入pytest,则默认执行当前工程目录下D:SoftInstallPycharmProjectpython3_web_pytest>,所有能找到的用例

# pytest用例手机规则(顺序):
# 1) test_*.py 开头 或者 _test.py结尾的.py文件
# 2)以test_开头的函数名
# 3) 以Test开头的测试类(没有__init__函数)当中,以以test_开头的函数名


# ---------************************************--------------------
# unittest中 测试类名以 Test开头;
# 测试用例名(函数名)以test开头,否则无法识别用例,报错 no tests ran
#如何提升测试用例执行效率:
# 第一种:预置条件使用setUpClass
# 第二种:预置条件使用接口操作或者数据库操作
原文地址:https://www.cnblogs.com/meblogs-08/p/13620930.html