Pytest里,mark装饰器的使用,双引号,没引号,这种差别很重要

本文介绍了使用pytest测试框架进行标记和异常测试的方法。通过多个示例展示了如何利用pytest的标记功能来组织测试用例,并使用pytest.raises来捕获并验证期望抛出的异常类型及消息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

按最新版的pytest测试框架。

如果只是单一的mark,不要加任何引号。

如果是要作and ,not之类的先把,一定要是双引号!

这个要记清楚,好像和以前版本的书上介绍的不一样,切记!

import pytest
import tasks

@pytest.mark.smoke
def test_list_raises():
    with pytest.raises(TypeError):
        tasks.list_tasks(owner=123)
       
        
@pytest.mark.get
@pytest.mark.smoke
def test_get_raises():
    with pytest.raises(TypeError):
        tasks.get(task_id='123')
        
        
def test_add_raises():
    with pytest.raises(TypeError):
        tasks.add(task="not a task object")


def test_start_db_raises():
    with pytest.raises(ValueError) as excinfo:
        tasks.start_tasks_db('some/great/path', 'mysql')
        exception_msg = excinfo.value.args[0]
        assert exception_msg == "db_type must be a 'tiny' or 'mongo'"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值