Pytest运行方式及参数使用例子

如题所述

这篇文章主要介绍了Pytest运行方式及参数使用,通过实例代码进行介绍,以下是具体内容:

2. Pytest运行方式

分别创建两个文件:test_case01.py与test_case02.py。其中test_case01.py内包含如下内容:

import os
class TestDemo1:
def test_01_demo(self):
print("test_01")
def test_02_demo(self):
print("test_02")

test_case02.py内容如下:

class TestDemo2:
def test_03_demo(self):
print("test_03")
def test_04_demo(self):
print("test_04")

运行所有测试模块的方式如下:

新建一个py文件,运行主函数,右击选择文件运行。内容如下:

import pytest
if __name__ == '__main__':
pytest.main(['-vs'])

运行单个测试模块的写法为:

import pytest
if __name__ == '__main__':
pytest.main(['-vs', 'test_case01.py'])

运行特定测试用例的写法是,如运行test_case01.py中test_02_demo()用例:

import pytest
if __name__ == '__main__':
pytest.main(['-vs', 'test_case01.py::TestDemo1::test_02_demo'])

2. 命令行运行测试

运行所有测试模块的命令为:

在对应目录下,输入`pytest -vs`命令即可运行。

运行单个测试模块命令为:

pytest -vs test_case01.py

运行指定测试用例命令为:

pytest -vs test_case01.py::TestDemo1::test_02_demo

通过读取pytest.ini配置文件运行测试:

pytest.ini文件是pytest框架的核心配置文件,位于项目根目录下,编码必须为ANSI,使用noepad++修改。作用是改变pytest默认行为,运行规则适用于主函数和命令行模式。配置如下:

在根目录创建pytest.ini文件,内容如下:

[pytest]
addopts = -p no:warnings -vs
testpaths = ./testcase
python_files = test_*.py
python_classes = Test*
python_functions = test*

在命令行输入Pytest,运行的是./testcase目录下以test_*.py文件开头、类名以Test*开头、函数以test*开头的文件。

三、修改Pytest默认规则

在另一篇文章中,初步介绍了Pytest默认规则的修改,通过pytest.ini配置文件可以实现。例如,运行以aaa开头的测试文件、以AAA开头的类、以aatest开头的测试用例:

[pytest]
addopts = -p no:warnings -vs
testpaths = ./testcase
python_files = aaa_*.py
python_classes = AAA*
python_functions = aatest*

四、Pytest参数使用

在上述案例中,使用了Pytest的一些基本参数。后续文章将详细讲解参数使用方法,先熟悉基本概念吧。
温馨提示:内容为网友见解,仅供参考
无其他回答

Pytest运行方式及参数使用例子
在对应目录下,输入`pytest -vs`命令即可运行。运行单个测试模块命令为:pytest -vs test_case01.py 运行指定测试用例命令为:pytest -vs test_case01.py::TestDemo1::test_02_demo 通过读取pytest.ini配置文件运行测试:pytest.ini文件是pytest框架的核心配置文件,位于项目根目录下,编码必须为ANSI,...

pytest系列之用例书写规则及用例运行方式
3.3.3 作用改变pytest默认的行为 内容示例如下:[pytest]addopts=-vs#命令行的参数,用空格分隔testpaths='..\/pytest_project'#测试用例的路径python_files=test*.py#模块名的规则python_classes=Test*#类名的规则python_functions=test#方法名的规则运行的规则:不管是主函数运行,还是命令行模式运行...

pytest系列之参数化、yaml和测试用例的执行状态
1.parametrize()实现数据驱动1.1 方法参数详解@pytest.mark.parametrize(arg_name, arg_value)arg_name:参数名称,用于将参数值传递给测试用例 arg_value:参数值(支持列表、字典列表、元组和字典元组),有n个值,那么测试用例就将执行n次 1.2用法详解1.2.1 直接传值@pytest.mark.parametrize("module...

Pytest 使用简介
fixture 函数定义中,scope 参数定义了作用范围。接下来,通过示例演示如何在每个用例前执行初始化操作,以及如何使用 yield 实现用例执行后清除或还原数据。此外,我们还可以利用 conftest.py 配置文件管理多个测试文件之间的共享功能。test_xxx.py 文件无需导入 conftest,pytest 自动在同级目录中搜索 conftest...

接口自动化进阶: Pytest之Parameterize数据驱动应用!
例如,下面是一个使用参数化的测试用例示例。装饰器的第一参数为测试数据名称,其后跟一个包含测试数据的列表,每组数据将作为参数传入测试用例函数。保存测试文件后,使用Pytest运行测试。在命令行中定位至测试文件所在目录,执行相关命令即可自动查找并执行测试文件中的测试用例。Pytest会以直观的形式展示运行...

pycharm中如何运行pytestmain方法?
使用 `-s` 参数可以显示测试输出,通过 `-v` 参数可查看更详细的信息。自定义测试选择或参数配置,可在“运行配置”窗口中进行调整。PyCharm 的测试框架集成提供了便捷的测试运行方式,无需手工执行 pytest 的 main 方法。通过上述步骤,用户可以轻松在 PyCharm 中运行 pytest,进行自动化测试,提高开发...

Pytest基础使用教程
运行方法 在当前文件所在目录,打开命令行,运行:或者在脚本中,导入pytest,使用 pytest.main([...]) 运行:mark主要用来标记用例,通过不同的标记实现不同的运行策略 主要用途:标记和分类用例 标记用例在指定条件下跳过或直接失败 标记使用指定fixtures 参数化 标记超时时间 或命令行使用 pytest --...

Python - pytest
上例中,当我们在执行(就像Python解释器执行普通的Python脚本一样)测试用例的时候, pytest.main(["-s", "demo1.py"]) 中的传参需要是一个元组或者列表(我的pytest是5.2.2版本),之前的版本可能需要这么调用 pytest.main("-s demo1.py") ,传的参数是str的形式,至于你使用哪种,取决于报不报错: 遇到上述报...

pytest基础使用
fixture是pytest中用于管理测试资源的关键概念,如数据和工具。定义fixture的方法是使用`@pytest.fixture`装饰器。fixture可以在测试函数中作为参数引用,一个fixture可以被多个测试或fixture共享,也可以通过`autouse=True`参数在测试前自动执行。fixture的作用域有function、class、module、package和session,不同...

pytestconfig--获取命令行参数及pytest.ini文件配置
执行 pytest test_pytestconfig.py --value=pro 运行结果如下图:首先在 pytest.ini 文件中,标记如下配置。读取其实只需要用到 getini 方法。运行上方已建立的 test_pytestconfig.py ,运行结果如下图,ini文件中的配置已成功输出。最近关注博主的人儿就竟然快50了,是个非常大的鼓励了~这个月更新慢...

相似回答
大家正在搜