用例查找规则

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

指定类方法运行

 

演示

数据

pytest简易教程(02):用例查找规则_python

 

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简易教程(02):用例查找规则_python_02

 

pytest ./

运行了当前目录及子目录下所有用例

pytest简易教程(02):用例查找规则_子目录_03

 

pytest case\sub_case\

运行指定目录及子目录下所有用例

pytest简易教程(02):用例查找规则_python_04

 

pytest case\test_qzcsbj.py

指定模块运行

pytest简易教程(02):用例查找规则_子目录_05

 

pytest -k test_2

按关键字(函数/方法名)匹配运行

pytest简易教程(02):用例查找规则_子目录_06

 

pytest case\test_qzcsbj.py::test_a

指定函数运行

pytest简易教程(02):用例查找规则_用例_07

 

pytest case\test_qzcsbj.py::TestQzcsbj1

指定类运行

pytest简易教程(02):用例查找规则_子目录_08

 

pytest case\test_qzcsbj.py::TestQzcsbj1::test_c

指定类方法运行

pytest简易教程(02):用例查找规则_用例_09

 

补充:pycharm中运行方法、类、模块、包

方法和类,直接点击绿色按钮运行

模块和包,选中模块或者包,然后右键运行

 

__EOF__


本文作者:持之以恒(韧)
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等