操作步骤

1、从连接获取游标

2、用游标执行SQL

3、通过游标获取结果

# conftest.py
import pytest
import pymysql


@pytest.fixture(scope="session")
def mysql_connection():
    # 连接配置(从配置/环境变量读取更安全)
    connection = pymysql.connect(
        host="host",
        user="root",
        password="password",
        database="market",
        port=3306,
        cursorclass=pymysql.cursors.DictCursor  # 返回字典格式数据
    )

    yield connection  # 提供连接给测试用例

    # 测试结束后关闭连接
    connection.close()


# 可选:为单个测试用例提供事务隔离的游标
@pytest.fixture
def mysql_cursor(mysql_connection):
    cursor = mysql_connection.cursor()
    yield cursor
    # 回滚事务,确保测试不修改数据库
    mysql_connection.rollback()
    cursor.close()


# test_mysql.py
def test_query_data(mysql_cursor):
    # 执行查询
    mysql_cursor.execute("SELECT * FROM system_users WHERE id = 176")
    result = mysql_cursor.fetchone()
    assert result["nickname"] == "薇薇太瘦了"

结果:
在这里插入图片描述

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐