微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

pytest02

运行pytest可以指定目录和文件,如果不指定,pytest会搜索当前目录及其子目录中以test_开头或以_test结尾得测试函数。我们把pytest搜索测试文件和测试用例的过程称为测试搜索(test discovery)。只要遵循pytest的命名规则,pytest就能自动搜索所有待执行的测试用例。

1、测试文件命名规则,test_xxx.py或xxx_test.py

2、方法、测试函数命名规则,test_xxx

3、测试类命名规则,Testxxx,并且不能带有 init 方法

-v 说明:控制台可以输出用例更加详细的执行信息,比如用例所在的文件、类、用例名称、用例执行结果(PASSED)、用例百分比等。

 

-k 说明:允许你使用表达式指定希望运行的测试用例,如果某测试用例名是唯一的,或者多个测试用例名的前缀和后缀相同,就可以使用表达式快速定位,如果你想执行的测试用例名字需包含login_01,就可以这么写pytest.main(['-v', '-k', 'login_01]),如果你想执行的测试用例名字需包含login_01和login_03,就可以这没写pytest.main(['-v', '-k', 'login_01 or login_03'])

-m 说明:标记用于测试用例并分组,以便快速选中并运行,以test_login_01()和test_login_02()为例,希望同时选中并执行,需预先做好标记,假设标记名是run,则可使用@pytest.mark.run装饰器来做标记,调用执行用pytest.main(['-v', '-m', 'run'])

-s 说明:该选项允许测试运行时输出任何符合标准的输出流信息,例如代码里面的print。正常情况下,所有输出都会被捕获,测试失败时,pytest会做出判断并输出失败报告。

 

-x 说明:正常情况下,pytest会运行每一个搜索到的测试用例,如果某个测试函数被断言失败,或者触发了外部异常,则该测试用例的运行就会停止,pytest将其标记为失败后会继续运行下一个测试用例。通常这就是我们期望的运行模式,但是在debug时,我们希望遇到失败时立即停止整个会话,这时-x就派上用场了。pytest.main(['-v', '-x'])

--maxfail=num 说明:假设你允许pytest失败几次后再停止,则可以使用--maxfail选项,明确指定可以失败几次后停止整个会话。命令行执行:pytest --maxfail=2   pytest.main(['-v', '--maxfail=1'])

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐