【发布时间】:2023-01-27 17:09:12
【问题描述】:
我必须用 python 编写单元测试。我需要在一个方法中模拟两个不同的游标调用。
sql.py文件
def call_sql(conn, b):
query1 = q1
query2 = q2
cur = conn.cursor()
run1 = cur.execute(query1).fetchone()
run2 = cur.execute(query2).fetchone()
count1 = run1[0]
count2 = run2[0]
if count1 == count2:
print('success')
else:
print('fail')
def test_Call_sql(self):
mock_connect = MagicMock()
connection = mock_connect.return_value
cursor = connection.cursor.return_value
cursor.fetchone.return_value = (5,)
问题:如何模拟两个单独的调用?
【问题讨论】:
-
有没有办法直接模拟 count1 和 count2 ?这样我就可以验证这两个条件?
标签: python mocking pytest magicmock