Pytest02-用法和调用
Posted tedliu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pytest02-用法和调用相关的知识,希望对你有一定的参考价值。
通过python -m pytest调用pytest
通过python解释器,在命令行执行:
python -m pytest XXXX.py
几乎等同于直接pytest XXXX.py,除了通过python会将当前目录添加到sys.path中。
有可能会遇到的退出码
运行pytest可能会导致六个不同的退出码:
- 退出码0:所有测试均已收集并成功通过
- 退出码1:测试已收集并运行,但是某些测试失败
- 退出码2:测试执行被用户中断
- 退出码3:执行测试时发生内部错误
- 退出码4:pytest命令行使用错误
- 退出码5:未收集测试
它们由_pytest.config.ExitCode枚举表示。 退出码是公共API的一部分,可以使用以下命令直接导入和访问:
from pytest import ExitCode
注意:如果要在某些情况下自定义退出代码,尤其是在未收集任何测试的情况下,请考虑使用pytest-custom exit_code插件。
获取相关信息
pytest --version # 获取版本号
pytest --fixtures # 获取可用的内置函数参数
pytest -h / pytest --help # 获取帮助文档
最大测试失败数
pytest -x # 失败一个后就不再继续跑了
pytest --maxfail=2 # 失败两个后就不再继续跑了
指定测试/选择测试
先上代码:
# -*- coding: utf-8 -*-
# @Time : 2020/7/7 10:59
# @Author : 无罪的坏人
# @File : test_mod.py
import pytest
def test_func():
assert 1 == 1
@pytest.mark.slow
def test_slow():
assert 2 == 3
class TestClass:
def test_method(self):
assert 2 == 1
@pytest.mark.parametrize(‘x,y‘, [(1, 2), (3, 4), (5, 5), (1, 1)]) # 实现参数化
def test_equal(self, x, y):
assert x == y
以上是关于Pytest02-用法和调用的主要内容,如果未能解决你的问题,请参考以下文章