上一篇介绍了如何运行pytest代码,以及用例的一些执行规则,执行用例发现我们中间print输出的内容,结果没有给我们展示出来,那是因为pytest执行时,后面需要带上一些参数。
参数内容
我们可以在cmd中通过输入 pytest -h 或者pytest --help 来查看帮助内容
奈何安静屏幕小,只写了一部分。
安静这么多一点点的给大家介绍,有的安静也没有遇到过,在后续遇到后,给大家分享,安静先把常用的给大家列出来,并且举例说明
安静简单的用一段代码进行展示,后面有需要补充的,安静会进行在代码中补充。
import pytest
class Test_01:
def test_001(self):
print('Test_01下的用例001')
assert 1 == 1
def test_002(self):
print('Test_01下的用例002')
assert 1 == 2
def test_003(self):
print('Test_01下的用例003')
assert 3 == 3
if __name__ == '__main__':
pytest.main()
pytest - s
-s:执行用例,携带详细信息,比如打印的print内容
通过cmd进行执行,发现已经详细内容展示出来了
pytest -x
-x:遇到错误的用例,立即退出执行,并输出结果
从上图可以看到一共3条用例,执行了2条,其中执行到第2条的时候就已经程序就退出了。
pytest -k
-k:表示加需要执行的用例项,-k后面可以是测试函数名,也可以是类名,也可以是模块名,以及目录名称
也可以通过加入not来不执行一些用例,这里的not要和用例名放在一起用引号
pytest xxx.py
::类::用例:可以通过这种形式进行指定用例执行
pytest -m
-m:执行被标记的用例
标记需要用到pytest中的装饰器 @pytest.mark.标记名称
import pytest
class Test_01:
@pytest.mark.anjing
def test_001(self):
print('Test_01下的用例001')
assert 1 == 1
def test_002(self):
print('Test_01下的用例002')
assert 1 == 2
@pytest.mark.anjing
def test_003(self):
print('Test_01下的用例003')
assert 3 == 3
if __name__ == '__main__':
pytest.main()
pytest -v
-v:表示查看详细的报告内容
pytest -q
-q:表示简则的测试报告,运行成功通过“.”表示,运行失败通过"F"表示
pytest --collect-only
--collect-only:表示把待执行的用例全部展示出来。
pytest --maxfail=n
--maxfail=n:其中n表示失败的次数,运行失败n次后,进行停止测试
# coding:utf-8
class Test:
def test_01(self):
print('这是用例01')
assert 1 == 1
def test_02(self):
print('这是用例02')
assert 1 == 2
def test_03(self):
print('这是用例03')
assert 3 == 4
def test_04(self):
print('这是用例04')
assert 4 == 4
pytest --lf
--lf:只执行上次失败的用例
pytest --tb
--tb=no:不展示用例失败的错误详情
--tb=line:展示用例失败的代码具体行数。下图结果是在11行
--tb=short:展示更加详细的错误信息
pytest --durations
--duration=N:表示把最耗时间的用例展示出来,N表示最慢的N个
安静的代码运行都很快,把其中一个代码加上睡眠,从图中可以看出来,test_01文件中的test_03运行最慢。
安静简单的列举了常用的几种,大家如果还想要了解可以查阅官方文档和进行pytest -h 查看详情
因此我建立了一个软件测试开发自学团,正在学习测试的小伙伴可以通过点击下面的小卡片