pytest 框架,pytest测试框架官方文档
目录pytest测试框架执行方式只是以函数方式执行函数或方法名的命名规范DOS命令执行断言方法assert几个断言方法assert==Assertion Assertion包含assertion assert is。断言前后的值等于pytest。常用命令解释pytest -v输出详细信息pytest -s输出测试函数或测试方法打印内容pytest -k按分类执行测试点-m按组执行-x执行失败立即停止- maxfail执行最大次数- tb=line错误消息一行显示pytest API测试实践。
pytest测试框架只是作为一个函数来执行。
我们先来了解一下Pytest是如何执行的。
test_pytest.py
pytestdef test _ 001():print( test _ 01 )def test _ 002():print( test _ 02 )if _ _ name _= _ _ main _ _ :第一个# main方法的参数-v打印详细信息,第二个执行的模块的名称pytest.main ([-v , test _ pytest.py])看看输出结果。顶部的红线显示了执行了多少测试用例,中间显示了执行的测试模块,底部显示了通过了多少以及何时通过的。
函数名或方法名的命名规范。函数名或类的方法名必须以test开头,否则无法执行。现在我们来演示一下。
import test def test _ 001():print( test _ 01 )def test _ 002():print( test _ 02 )def add _ test():print( add _ test )if _ _ name _== _ _ main _ 。
可以看到add_test这两个方法没有运行。
命令执行:切换到当前项目的路径,输入pytest -v test_pytest.py执行。
断言方法pytest使用python的本机断言方法assert进行断言。
断言几个断言方法1,==内容和类型必须同时满足等式。
2.实际结果包括预期结果。
3.is断言前后的两个值相等。
Assert==断言x和y相加后的实际结果是否等于预期结果。
Add (x,y):return x xdef test _ add():assert add(1,1)==2执行后控制台上的显示。
如果你故意纠正预期的结果,看看控制台会显示什么。
这个错误很明显。
中的断言包含断言。断言str1字符串是否包含GO
1= python go PHP Java def test _ in():在str 1 Assertis中断言 go 断言前后的值相等来判断两个字符串是否相等。
1= admin str 2= admin def test _ is():assert str 2 is str 1==is相同。
1= admin str 2= admin def test _ is():assert str 2==str 1 pytest常用命令详细解释1 .-v输出详细信息
2.-s输出测试功能或测试方法的打印内容
3.-k通过分类执行测试点。
4.-m是分组执行的。
5.-x执行失败并立即停止。
6.max fail执行失败的最大次数。
7.-TB=line错误消息显示在一行中。
Py -v输出详细信息。这个命令之前已经显示过很多次了,所以在这里,去掉-v,看看执行后会显示什么,以便比较。
上面一个是去掉-v,下面一个是添加-v参数。如果执行-v参数,它可以显示特定函数方法的成功或失败。
Test-s输出测试函数或测试方法打印内容,并输入打印语句内容,例如,打印并检查用户id。
def test _ id():userid=1234 print(userid)
Py-k根据类别执行测试点。如果现在有十个测试用例需要执行,而只有五个用例需要执行,你可以使用装饰器将用例分成两类,分别执行。
@python。可爱的小天鹅是固定写法,后面跟着自己的名字。现在分为运行和停止两类。
导入pytest@pytest。持久的小天鹅。rundef test _ 001():print( test _ 01 )@ pytest。持久的小天鹅。rundef test _ 002():print( test _ 02 )@ pytest。持久的小天鹅。rundef test _ 03(:print( add _ test )def add(x,y): return x x @ pytest。持久的小天鹅。Stop def test _ add (): assert add (1,1)==2 @ pytest。持久的小天鹅。停止定义测试标识():用户标识=1234打印
Test-v pytest -v -k“运行”test_pytest.py执行
执行多重测试分类。
-m是分组执行的。-m和-k的执行方式不同,只是分类不需要引号。其他都差不多。
-x未能立即执行;不带-x和带-x的前后对比;no -x执行失败后,下面会继续执行;-x执行失败后,下面的将不会继续执行。
-max fail的最大执行失败次数。如果最大失败次数设置为2,那么如果两个用例失败,后者将停止执行,如果小于2次,则继续执行。
-TB=line错误消息显示在一行中。如果没有这个命令,如果有大量的用例执行错误,将很难检查错误消息。
Pytest API测试以登录界面为例。
import pytestimport requestsdef test _ log in():r=requests . post(URL= http://127 . 0 . 0 . 1:5000/log in/,data={ phone:1232432241, password:123456 },headers={ User-Agent : Mozilla/5.0(Windows NT 10.0;Win64x64) AppleWebKit/537.36 (KHTML,像壁虎一样)Chrome/80 . 0 . 3987 . 149 Safari/537.36 })print(r . text)assert r . JSON()[ data ][ id ]==28239和r.json () [msg]=。