Pytest简单指令说明

以用例的执行为例:

----------

名词解释:

  用例文件: 指类似test_xxx.py或xxx_test.py这样的写好的py文件。一个文件是一个Module(测试模块),内部包含多个Function(测试方法)

  方法:指用例文件中包含的测试方法

 

指令集:

1. pytest test.py

  直接运行test.py。执行结果显示简要说明(成功/失败)

2.pytest -v test.py

  运行test.py。执行结果显示详细报告(触发断言或异常的情况)

3.pytest

  运行当前路径下所有以 “test_” 开头或以 “_test” 结尾的.py文件

4. pytest tasks/test.py tasks/another_test.py

  运行tasks目录下的 test.py 及 another_test.py 文件

5.pytest tasks

  运行task目录下所有以 “test_” 开头或以 “_test” 结尾的.py文件

6.pytest -v tasks/another_test.py::test_asdict

  运行task目录下another_test.py文件中的test_asdict方法

7.pytest --collect-only

  收集当前目录下所有的用例(所有以 “test_” 开头或以 “_test” 结尾的.py文件)文件中的详细信息(模块和方法信息),以列表形式显示在窗口中

8.pytest -k "asdict or defaults" --collect-only

  收集当前目录下,名称包含“asdict”或“defaults”的用例文件的详细信息

9. pytest -v -k "asdict or defaults"

  运行当前目录下,名称包含“asdict”或“defaults”的用例文件,并显示详细执行结果

10.pytest -m run_role_modules

  运行当前目录下,所有带有装饰器“@pytest.mark.run_role_modules”的方法

11.pytest -m "run_role_modules and not run_user_modules"

  运行当前目录下,所有带有装饰器“@pytest.mark.run_role_modules”且不带有装饰器“@pytest.mark.run_user_modules”的方法。

  上面用到的方法是“a and not b”类型的条件,类似的,还可以用 “a or b”  “a and b” 这种方式对于方法进行筛选执行

12.pytest -x

  运行当前目录下,所有的用例文件,并在出现第一条执行失败的方法时,中断用例执行(exitfirst)

13.pytest --maxfail=2

  运行当前目录下,所有的用例文件,并在方法执行失败数量共计达到两条时,中断用例执行(若数值设为1,等同于 -x 的效果)

14.pytest --tb=no

  运行当前目录下,所有用例文件,并关闭堆栈跟踪(即不显示FAILURES信息,只显示统计结果)

15.pytest -s

  运行当前目录下,所有的用例文件,并关闭输出显示(即失败或成功都不显示输出结果)

  效果等同于 --capture=no

16.pytest --capture=xx

  运行当前目录下,所有的用例文件,并显示所有输出(即成功的用例和print语句结果都会显示)

  xx代表 --capture=fd 和 --capture=sys  两种参数,前者会把输出结果保存至临时文件,后者会替换掉系统内存的数据文件

17.pytest -l

  运行当前目录下,所有的用例文件,并显示失败用例的所有输出(即可以不用写print语句,达到显示每步执行结果的效果)

  效果等同于 --showlocals

18.pytest --lf

  运行当前目录下,所有的用例文件,并显示最后一条失败用例的详细信息(lats-failed)

  类似的,还有 --ff  方法,显示第一条失败用例的信息(first-failed)

19.pytest -q

  运行当前目录下,所有的用例文件,与 -v 效果相反,该指令会省略信息显示

20.pytest --durations=10

  运行当前目录下,所有的用例文件,并显示前十条运行速度最慢的方法的执行时间

 

 

 

  

posted @ 2018-07-05 16:16  然语  阅读(1127)  评论(0)    收藏  举报