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

时间:2019-05-17 15:04:00

标签: python unit-testing mocking pytest pytest-mock

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

通常,我希望在测试用例中从执行器获取传入的参数

我正在使用pytest和django_db

我该怎么做?

0 个答案:

没有答案