pytest使用简介

淺唱寂寞╮ 提交于 2019-12-17 16:46:27

     pytest是基于py unittest的一个单元测试框架,用起来比unittest简单不少,不过和unittest使用不太一样,总结如下:

格式:

case的py文件名必须是test开头
def用例必须是test开头
class名必须是Test开头,注意大写
class中的def用例必须是test开头

pytest提供了很多运行参数,比较常用的有:

-k:只执行指定的用例-s:命令行显示测试代码的输出,如果需要输出html结果最好不要-s
-v:显示详细信息
-q:不显示详细信息
--html=path:输出测试结果到html

初始化,pytest提供了如下初始化和清理环境方法:

setup_function、teardown_function
setup_module、teardown_module
setup、teardown
setup_class、teardown_class
setup_method、teardown_method
@pytest.fixture()

对于class用例集类来说:

setup_function、teardown_function 不能用
setup_module、teardown_module 放在类外可以使用、放在类内不能使用,只在最前和最后调用
setup、teardown 放在类内可以使用、放在类外不能使用,每个case都会调用
setup_class、teardown_class 放在类内可以使用、放在类外不能使用,每个case都会调用
setup_method、teardown_method 放在类内可以使用、放在类外不能使用,每个case都会调用
@pytest.fixture() 放在类内类外都可以使用

对于独立def用例来说:

setup_function、teardown_function 可以使用,每个case都会调用,无需成对使用
setup_module、teardown_module 可以使用,只在最前和最后调用
setup、teardown 可以使用,每个case都会调用
setup_class、teardown_class 不能用
setup_method、teardown_method 不能用
@pytest.fixture() 可以使用
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!