Database 当查询失败时测试FlaskAPI

Database 当查询失败时测试FlaskAPI,database,flask,flask-restful,Database,Flask,Flask Restful,我正在编写一个Flask应用程序,我正在使用Postman测试我的端点是否正确写入。在测试了所有内容之后,我意识到我唯一不能执行的测试是数据库查询失败时的测试(因此我应该发出500个HTTP状态代码) 所以我的问题是:如果某个外部服务(如数据库)失败,如何测试查询是否正确失败?理想情况下,我可以直接在邮递员中测试它,但我不知道我会嘲笑失败的服务 您可以使用try/除了异常的块,下面是示例代码: @app.route(“/url”) def func(): 尝试: cur=mysql.connec

我正在编写一个Flask应用程序,我正在使用Postman测试我的端点是否正确写入。在测试了所有内容之后,我意识到我唯一不能执行的测试是数据库查询失败时的测试(因此我应该发出500个HTTP状态代码)


所以我的问题是:如果某个外部服务(如数据库)失败,如何测试查询是否正确失败?理想情况下,我可以直接在邮递员中测试它,但我不知道我会嘲笑失败的服务

您可以使用
try
/
除了异常的
块,下面是示例代码:

@app.route(“/url”)
def func():
尝试:
cur=mysql.connection.cursor()
当前执行(sqlQuery)
mysql.connection.commit()
当前关闭()
除:
返回“失败”
返回“成功”
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
app.run()

注意:请记住,代码只是一个简单的代码,我使用了
MySQL
连接并返回了正常的响应状态。

使用try/exept执行或捕获失败。最好将return'success'移动到try块的末尾。同意吗?考虑到编程实践,应该避免使用
try
块中的
return
。有时返回时也会出现一些错误。它不仅返回字符串,还可能更复杂。。。所以我们不想因为它而中断服务。我更喜欢把return包含在try块中!