pytest用例编写规则、执行测试
pytest简介
pytest是python的一种单元测试框架,与pytest自带的unittest测试框架类似,但是比unittest使用起来更简洁,效率更高。
特点:
1、非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考
2、能够支持简单的单元测试和复杂的功能测试
3、支持参数化
4、执行测试过程中可以将某些测试跳过(skip),或者对某些预期失败的case标记成失败
5、支持重复执行(return)失败的case
6、支持运行由nose,unittest编写的测试case
7、可生成html报告
8、方便的和持续集成工具jenkins集成
9、可支持执行部分用例
10、具有很多第三方插件,并且可以自定义扩展
pytest用例规则
1、测试文件以test开头(以test结尾也可以)
2、测试类以Test开头,并且不能带有init方法
3、测试函数以test_开头
4、断言使用assert
console参数介绍
-v:用于显示每个测试的执行结果
-q:只显示整体测试结果
-s:用于显示测试函数print()函数输出
-x,--exitfirs,在第一个错误或测试失败时立即退出
-h:帮助
代码如下:
import pytest # 测试类需要Test开头 class TestLoginCase(object): # def __init__(self): def test01(self): print('test01') if __name__ =="__main__": pytest.main(['-vs','test_01.py'])
执行结果如下:
配置pycharm执行:
tools->python integrated tools->default test runner
main方法:
pytest.main(['-vs','test_01.py'])
命令行:
pytest -s -v test_01.py