51Testing软件测试论坛

标题: 单元测试框架Pytest的使用及调用方法 [打印本页]

作者: lsekfe    时间: 2022-6-14 09:50
标题: 单元测试框架Pytest的使用及调用方法
 使用python -m pytest调用Pytest
  上篇文章我们说过,python -m pytest [...] 来运行测试用例,它的几乎等同于命令行直接调用pytest [...]。

  可能出现的执行退出code
  我们在执行测试用例的时候,每个case会返回不同的状态码,这个状态码跟咱们的http的状态码大同小异,主要是看是否执行成功,总共有6个状态码。如下:
  退出code 0:收集并成功通过所有测试用例
  退出code 1:收集并运行了测试,部分测试用例执行失败
  退出code 2:测试执行被用户中断
  退出code 3:执行测试中发生内部错误
  退出code 4:pytest命令行使用错误
  退出code 5:没有收集到测试用例
获取版本路径命令行选项及环境变量相关帮助
[attach]138421[/attach]
第1(N)次失败后停止测试
pytest -x # 第1次失败后停止
pytest --maxfail=2 # 2次失败后停止,可以是2,也可以是n

指定及选择测试用例
  pytest test_model.py 运行模块内所有的case
  pytest testfile 运行目录下符合要去的case
  pytest -k "key" 运行符合表达式的case
  pytest test_model.py::test_func 运行模块中指定的case
  pytest test_model.py::TestClass::test_func 运行模块中指定的case
  pytest -m slow 运行case带@pytest.mark.slow装饰器的case
  pytest --pyargs pkg.test运行包中的case

  创建JUnit XML格式的测试报告
  要创建可由Jenkins或其他持续集成软件读取的XML测试报告,可以使用pytest --junutxml=pathpath是路径文件:
[attach]138422[/attach]
在Python代码调用Pytest
  这个就比较简单了:
  1. pytest.main(['-x','mytestdir'])
复制代码











欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2