pytest的前置和后置的具体使用(详解pytest的命令行参数)
pytest的前置和后置的具体使用(详解pytest的命令行参数)与-v正好相反,他会简化输出信息,一般可以和--tb=line(仅打印异常的代码位置)搭配一起使用输出测试详细信息,每个文件中的每个测试用例都占一行,如果不指定是每个文件占一行,测试的名字和结果都会显示出来,如果不指定会用一个点或字符来代表执行情况前面-x参数,是一遇到测试失败就会全局停止执行,这个参数是允许指定失败的次数后再结束测试当一个或者多个测试失败时,会定位到最后一个失败的测试用例并重新运行运行所有测试,但是会先运行最后一个失败的测试用例
- --collect-only
--collect-only选项可以展示在给定的配置下哪些测试用例会执行,主要是方便在测试运行之前检查选中的测试用例是否符合预期
- -k EXPRESSION
-k选项允许使用表达式指定希望运行的测试用例,如果测试名是唯一的,或者多个测试名的前缀或后缀相同,那么可以使用表达式来快速定位。
- -m MARKEXPR
pytest那些强大的标记功能这篇文章我们介绍了,关于标记的使用,里面提高了-m选项的具体使用方式,大家可以查看一下。
- -x --exitfirst
pytestzai一般情况下,会执行搜索到的每一个测试,如果某个测试用例断言失败或者触发了外部异常,该测试用例就会结束,执行下一个测试用例,但是有时我们开发测试用例的时候,需要debug,这个时候呢,希望case执行失败了,就不要再执行后面的case了,以便我们快速开始查找失败原因,这个时候-x参数就派上用场了。
- --maxfail=num
前面-x参数,是一遇到测试失败就会全局停止执行,这个参数是允许指定失败的次数后再结束测试
- --lf
当一个或者多个测试失败时,会定位到最后一个失败的测试用例并重新运行
- --ff
运行所有测试,但是会先运行最后一个失败的测试用例
- -v
输出测试详细信息,每个文件中的每个测试用例都占一行,如果不指定是每个文件占一行,测试的名字和结果都会显示出来,如果不指定会用一个点或字符来代表执行情况
- -q --quit
与-v正好相反,他会简化输出信息,一般可以和--tb=line(仅打印异常的代码位置)搭配一起使用
- -l --showlocals
测试失败时,失败用例由于被堆栈跟踪,如果指定-l选项,会把局部变量及其值都打印出来。
- --tb=style
这个选项决定捕捉的测试用例失败时信息的显示方式,他可以通过指定不同的显示方式,只输出我们想要的内容。style类型有short、line、no。
short模式仅输出assert的一行以及系统判断内容,line模式只使用一行输出所有的错误信息,no模式直接屏蔽掉全部信息。
no模式
line模式
short模式
在运行大量测试用例的情况下,一般我们只需要指定line模式就够了,还有long模式,输出详尽的信息,auto模式,仅打印第一个和最后一个用例的失败信息,native模式只输出python标准的信息,不显示额外信息。
- --duration=N
统计测试过程中哪几个阶段是最慢的,包括每个测试用例的call、setup、teardown,显示最慢的N隔阶段,耗时越长越靠前,如果duration=0,则会将所有阶段按耗时从长到端排序后显示
以上我只是列出了在测试过程中可能用到的一些命令行参数,更多信息请大家参考官方文档!!没事儿点个赞关注什么的,是美滋滋的!!!