returnx+1
deftest_answer():
assertinc(3)==5
在test_sample.py文件的目录下,执行pytest命令,pytest将运行当前目录及其子目录下所有名称为“test_*.py” 或 “*_test.py”的文件
小白必看的全功能的Python测试框架教程图1欧洲五大联赛即将开始
我们使用了assert语句来验证测试期望值,pytest中有一种断言反思机制,能智能地报告assert表达式的中间值,这个测试返回了一个失败报告,因为inc(3)没有返回5
二.第二步——配置文件欧洲五大联赛即将开始
pytest配置文件可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行。
[pytest]
#添加命令行参数
addopts=-s
#文件搜索路径
testpaths=./scripts
#文件名称
python_files=test_*.py
#类名称
python_classes=Test*
#方法名称
python_functions=test_*
addopts
addopts参数可以更改默认命令行选项,这个当我们在cmd输入指令去执行用例的时候,会用到,比如我想测试完生成报告,指令比较长
pytest -s —html=report.html
每次输入这么多,不太好记住,于是可以加到pytest.ini里
在配置文件中修改addopts = -s —html=report.html
这样我下次打开cmd,直接输入pytest,它就能默认带上这些参数了
testpaths
默认的情况下,pytest将会进入到当前目录下的目录和文件中,去收集测试用例(test_开头的函数)。但是很多时候我们只想搜索固定的某一个文件夹,比如项目目录下的scripts文件夹。这样的话,我们可以通过配置文件来是想这个功能
testpaths = ./scripts
python_files
pytest默认会找test开头的py文件,如果我们想指定某个文件或者指定某些有规律的文件名可以使用这个参数来进行修改
python_files = test_*.py
python_classes
pytest默认会找Test开头的类,如果我们想指定某个类或者指定某些有规律的类名可以使用这个参数来进行修改
python_classes = Test*
python_functions
pytest默认会找test开头的函数,如果我们想指定某个函数或者指定某些有规律的函数名可以使用这个参数来进行修改
python_functions = test_*
三.第三步——断言
编写代码时,我们总是会做出一些假设,断言就是用于在代码中捕捉这些假设。断言表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式值为真,可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言而在部署时禁用断言。同样,程序投入运行后,最终用户在遇到问题时可以重新启用断言。