摘要:我有一个方法想要进行测试。这个方法涉及连接数据库、提取结果(来自SQL查询)并将其保存到数据帧中。
我想知道,是否有办法模拟从SQL查询检索到的结果?
我尝试过unittest库,创建了一个类似于从SQL查询接收到的数据帧。但是我无法弄清楚如何在测试时将此变量传递给方法。
请分享您的见解。 我的方法类似于:
try:
db_connect = sqlite3.connect("address_zip.db")
db_cur = db_connect.cursor()
db_cur.execute(""" Select STD_ADDRESS,STD_CITY,STD_STATE from address""")
sql_result=pd.read_sql_query(""" Select STD_ADDRESS,STD_CITY,STD_STATE from address""",db_connect)
df = pd.DataFrame(sql_result, columns=['STD_ADDRESS', 'STD_CITY', 'STD_STATE'])
print(f"The data from database is :\n {df}")
db_cur.close()
db_connect.close()
except Exception as e:
print(f"DB exception: {e}")
return df
原始代码对变量"df"进行了几个操作,我的目的是模拟这个对象df。
但我不知道如何做到? 抱歉,这可能是非常基础的问题,我刚开始学习Python。