用例查找规则
pytest命令方式运行时,用例查找规则如下:
命令 | 说明 |
pytest(等价于:python -m pytest) | 运行当前目录及子目录下所有用例 |
pytest ./ | 运行当前目录及子目录下所有用例 |
pytest case\sub_case\ | 运行指定目录及子目录下所有用例 |
pytest case\test_qzcsbj.py | 指定模块运行 |
pytest -k test_2 | 按关键字(函数/方法名)匹配运行 |
pytest case\test_qzcsbj.py::test_a | 指定函数运行 |
pytest case\test_qzcsbj.py::TestQzcsbj1 | 指定类运行 |
pytest case\test_qzcsbj.py::TestQzcsbj1::test_c | 指定类方法运行 |
演示
数据
test_qzcsbj.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author : 韧
import pytest
def inc(x):
return x + 1
def test_a():
print("---test_a")
assert inc(0) == 1
class TestQzcsbj1:
def test_b(self):
print("---test_b")
assert "qz" in "qzcsbj"
def test_c(self):
print("---test_c")
assert "cs" in "qzcsbj"
class TestQzcsbj2:
def test_d(self):
print("---test_d")
assert "bj" in "qzcsbj"
test_qzcsbj1.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author : 韧
def test_1():
print("---test_1")
assert 1 == 1
test_qzcsbj2.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author : 韧
import pytest
def test_2():
print("---test_2")
assert 1 == 1
演示
说明:下面命令都统一加上了-vs参数
pytest
运行了当前目录及子目录下所有用例
pytest ./
运行了当前目录及子目录下所有用例
pytest case\sub_case\
运行指定目录及子目录下所有用例
pytest case\test_qzcsbj.py
指定模块运行
pytest -k test_2
按关键字(函数/方法名)匹配运行
pytest case\test_qzcsbj.py::test_a
指定函数运行
pytest case\test_qzcsbj.py::TestQzcsbj1
指定类运行
pytest case\test_qzcsbj.py::TestQzcsbj1::test_c
指定类方法运行
补充:pycharm中运行方法、类、模块、包
方法和类,直接点击绿色按钮运行
模块和包,选中模块或者包,然后右键运行
__EOF__
本文作者:持之以恒(韧)
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等