如何在pytest中修补方法并返回传入参数?

2024-09-25 00:33:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我对pytest模拟补丁有疑问。 我不知道如何修补执行原始SQL的方法

我有一个常用的方法来获取结果

def execute(query):
    with connection.cursor() as cursor:
        cursor.execute(query)
    return dictfetchall(cursor)

如何在项目中使用:

def some_method():
    query = "some raw SQL"
    return execute(query)

在测试用例中,我想从executer获取原始查询字符串,并将其与一些示例进行比较

@pytest.mark.django_db
def test_publisher_intensity2():
    publisher_id = 1
    query = publisher_intensity2(
        #
        publisher_id,
        date_from,
        date_to,
    )
    assert query == "SOME SQL"

一般来说,我希望从测试用例中的执行器获取传入参数

我用的是pytest和django\u数据库

我怎么能做到


Tags: django方法idexecutesqldatereturnpytest