gpt4 book ai didi

python::如何返回模拟变量值?

转载 作者:太空宇宙 更新时间:2023-11-04 05:19:55 25 4
gpt4 key购买 nike

 def m():
cnx = mysql.connector.connect(**config)
cursor = cnx.cursor()
cnx.database = database_name
cursor.execute('''SELECT COUNT(1) FROM URLlookup where malicious = '{0}' '''.format(new_URL))
Malware = cursor.fetchone()[0]
if Malware:
do something
else:
do something

这是从数据库中查找值的基本代码。如果值存在,则 Malware =True 否则为 False

我正在使用 Mock 库编写单元测试并模拟 Mysql 连接,但无法为恶意软件返回值 True 或 False bool。

  with patch ('mysql.connector.connect') as mock_db:
connection = mock_db.return_value
cursor = connection.cursor.return_value

在 ward 之后如何为“恶意软件”返回 True 或 False,以便 IF else 语句可以相应地执行?

最佳答案

您需要模拟 cursor.fetchone 以返回单个数字的元组。然后调用 m() 然后检查是否发生了预期的事情。

with patch ('mysql.connector.connect') as mock_db:
connection = mock_db.return_value
cursor = connection.cursor.return_value
cursor.fetchone.return_value = (1,) # or (0,) # <-----
# TODO call m()
# TODO assert that something is done or not

关于python::如何返回模拟变量值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40690355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com