首页 >数据库 >mysql教程 >如何解决单元测试中的'运行时错误:在应用程序上下文之外工作”?

如何解决单元测试中的'运行时错误:在应用程序上下文之外工作”?

DDD
DDD原创
2024-11-16 16:47:03596浏览

How to Resolve

运行时错误:在应用程序上下文之外工作

尝试对 test 中的 app.py 模块中的 before_request 和 input_info 函数进行单元测试时。 py 时,遇到 RuntimeError,表明函数正在应用程序上下文之外调用。

To要解决此问题,必须使用 app.app_context() 上下文管理器在单元测试中创建测试应用程序上下文。该上下文管理器为 before_request 和 input_info 函数正确执行提供了必要的环境。

以下是如何在单元测试中使用 app.app_context() 上下文管理器的示例:

from app import *
class Test(unittest.TestCase):         
    def test_connection1(self):  
        with app.app_context():
            object = TestMySQL()
            object.before_request()  # Should no longer throw a RuntimeError

在此测试中,app.app_context() 上下文管理器包装了对 before_request 函数的调用,创建必要的测试应用程序上下文并解析运行时错误。

以上是如何解决单元测试中的'运行时错误:在应用程序上下文之外工作”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn