Pytest运行指定的case,这个方法真的很高效……

Pytest运行指定的case

  在测试工作中,当我们写了较多的cases时,如果每次都要全部运行一遍,无疑是很浪费时间的,而且效率低下。

但是有一种方法可以帮助你快速地运行指定的测试用例,提高测试效率,那就是使用Pytest来运行指定的case!这种方法不仅可以节省时间,而且能够准确地测试出特定的功能和模块。

赶紧来试一试,相信你会很快感受到它的高效和便捷!

例子代码:

test_aa.py

class TestClassOne(object):
 
    def test_one(self):
 
        x = "this"
 
        assert 't'in x
 
 
 
    def test_two(self):
 
        x = "hello"
 
        assert hasattr(x, 'check')
 
 
 
 
 
class TestClassTwo(object):
 
    def test_one(self):
 
        x = "iphone"
 
        assert 'p'in x
 
 
 
    def test_two(self):
 
        x = "apple"
 
        assert hasattr(x, 'check')

运行模式:

模式1:直接运行test_aa.py文件中的所有cases:

pytest test_aa.py

模式2:运行test_aa.py文件中的TestClassOne这个class下的两个cases:

pytest test_aa.py::TestClassOne

 

模式3:运行test_aa.py文件中的TestClassTwo这个class下的test_one:
pytest test_aa.py::TestClassTwo::test_one

注意:定义class时,需要以T开头,不然pytest是不会去运行该class的。 

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

<think>好的,用户想知道如何在项目中全局执行pytest测试。我需要结合提供的引用内容来解答这个问题。首先,根据引用[2],pytest的配置文件pytest.ini是关键,用户需要在项目根目录下创建这个文件来配置全局设置。然后,引用[3]提到了如何通过命令行参数来选择测试分组,但用户的问题是关于全局执行,可能涉及配置文件的默认参数。另外,引用[4]中的conftest.py可以用来设置全局变量或fixture,这可能对全局测试环境有帮助。用户可能希望了解如何设置默认的测试参数,比如自动包含某些标记或排除其他环境。还需要提到基本的命令,比如在终端运行pytest,但用户可能更想知道如何确保所有测试都被执行,包括子目录中的测试。同时,引用[5]提到测试报告,这部分可能需要补充生成报告的方法,但用户的问题主要是执行,可能需要保持回答的聚焦。还需要检查是否有其他引用内容相关,比如引用[1]提到pytest适用于各种测试,可能可以说明其优势。总结步骤应该是:安装pytest,配置pytest.ini,使用conftest.py设置全局fixture,运行命令。确保回答结构清晰,分步骤说明。同时生成相关问题,如配置文件的作用、如何筛选测试用例、生成报告等。</think>### 如何在项目中全局执行 pytest 测试? #### 1. **安装与基础配置** - **安装 pytest**:确保项目环境中已安装 pytest: ```bash pip install pytest ``` - **项目目录结构**:测试文件需遵循命名规范(如 `test_*.py` 或 `*_test.py`),并放置在项目根目录或 `tests/` 子目录下[^1]。 #### 2. **全局配置文件 `pytest.ini`** - **创建配置文件**:在项目根目录下创建 `pytest.ini`,用于定义全局行为[^2]。示例配置: ```ini [pytest] addopts = -v -s # 默认添加详细输出和捕获控制台输出 testpaths = tests/ # 指定测试目录 markers = sit: 标记为SIT环境测试 uat: 标记为UAT环境测试 ``` #### 3. **全局执行命令** - **运行所有测试**:在项目根目录执行: ```bash pytest ``` 该命令会自动递归搜索所有符合命名规范的测试文件并执行。 - **按标记筛选测试**(例如仅运行 `sit` 分组): ```bash pytest -m "sit" # 引用[3] ``` #### 4. **全局变量与依赖管理** - **通过 `conftest.py` 共享**:在项目或测试目录下创建 `conftest.py`,定义全局 Fixture: ```python import pytest @pytest.fixture(scope="session") def global_data(): return {"key": "value"} # 引用[4] ``` - **跨模块调用**:在测试文件中直接使用 Fixture 名称作为参数调用,如 `def test_example(global_data):`。 #### 5. **测试报告生成** - **生成 HTML 报告**:安装插件并运行: ```bash pip install pytest-html pytest --html=report.html # 引用[5] ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值