我对 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
我怎么能这样做?