首页 > 解决方案 > 我如何修补方法并返回 pytest 中的传入参数?

问题描述

我对 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)

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

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

一般来说,我想在测试用例中从 executor 获取传入的参数

我正在使用 pytest 和 django_db

我怎么能这样做?

标签: pythonunit-testingmockingpytestpytest-mock

解决方案


推荐阅读