pytest是Python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。
它的优点:
简单的单元测试
复杂的功能测试
可以跳过你想跳过的那部分测试
可以扩展
..................
那首先来安装一下吧!
pip install -U pytest
那么pip将会自动帮你安装
当然如果你装好了,它也会提示你已经装了
可以查看一下Version:
下面我们就可以动手来试试咯。
执行测试的时候,我们只需要在测试文件test_sample所在的目录下,运行py.test即可。pytest会在当前的目录下,寻找以test开头的文件(即测试文件),找到测试文件之后,进入到测试文件中寻找test_开头的测试函数并执行。
创建一个测试文件test1.py
def fun(x):
return x+1
def test_fun():
assert fun(2)==2
之后就可以运行测试啦,终端输入py.test即可查看程序的具体情况。
当需要编写多个测试样例的时候,我们可以将其放到一个测试类当中
我们可以通过执行测试文件的方法,执行上面的测试:py.test -q testdemo.py
编写测试样例的时候我们可能要注意以下几点:
测试文件以test开头
测试类以Test开头,并且不能带有 __init__ 方法
测试函数以test_开头
断言使用assert
执行pytest测试样例的时候,我们是如何执行的呢?
最简单的,只要终端处于当前执行py测试文件的目录:
py.test
如果是在某个模块里运行pytest的话:
py.test test1.py
指定某个路径去运行:
py.test somepath
只去运行某个字符表达式里面的东西:
py.test -k stringexpression
最后一点,如何去生成测试报告:
pytest可以方便的生成测试报告,可以生成HTML的测试报告,或者xml格式的报告等等。
那我们现在来看看:
生成txt格式的报告:
py.test --resultlog=report.txt
生成xml格式的报告:
py.test --junitxml=path/log.xml
生成html格式的报告:(需要安装一下pip install -U pytest-html)
py.test test_report.py --html=C:\Users\Desktop\log.html
待续。。
文章来源: blog.csdn.net,作者:敲代码的灰太狼,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/tongtongjing1765/article/details/100581825