繁体   English   中英

在单元测试期间烧瓶app.config

[英]Flask app.config during unit testing

处理依赖于调用代码的单元测试的最佳方法是什么,而代码又依赖于当前应用程序的配置?

例如

code.py

from flask import current_app

def some_method():
    app = current_app._get_current_object()
    value = (app.config['APP_STATIC_VAR'])*10
    return value

test_code.py

class TestCode(unittest.TestCase):
    def test_some_method(self):
        app = create_app('app.settings.TestConfig')
        value = some_method()
        self.assertEqual(10, value)

运行上面的测试,当执行app = create_app('app.settings.TestConfig')行时,我得到'RuntimeError:在应用程序上下文之外工作'错误。

在测试期间调用app = create_app并不能解决问题。 在我需要在应用程序中读取配置的情况下,单元测试的最佳方法是什么?

当您调用some_method()来修复它时,您正在使用应用程序上下文中的应用程序来替换您的呼叫:

with app.app_context():
    value = some_method()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM