模拟全局变量,在Python中连接到数据库

模拟全局变量,在Python中连接到数据库,python,python-3.x,airflow,python-unittest,Python,Python 3.x,Airflow,Python Unittest,我正在准备气流DAG的单元测试,我遇到了以下问题 我有一个具有通用函数的模块,该模块将气流变量导入通用全局变量: """ Script for common functions used in airflow DAGs """ [...] from airflow.models import Variable [...] config = Variable.get("some_dag_details") [...]

我正在准备气流DAG的单元测试,我遇到了以下问题

我有一个具有通用函数的模块,该模块将气流变量导入通用全局变量:

"""
Script for common functions used in airflow DAGs
"""
[...]
from airflow.models import Variable
[...]
config = Variable.get("some_dag_details")
[...]
我有导入DAG文件进行测试验证的代码

import unittest
from unittest.mock import patch
from airflow.models import DagBag
from some_package import common_functions


class DAGValidationTest(unittest.TestCase):
    DETAILS = {
        "some important data"
    }

    def setUp(self):
        with patch.object(common_functions.Variable, 'get', return_value=self.DETAILS) as mock_get_variable:
[...]

问题是,连接到数据库的代码在我能够模拟类变量或变量配置之前就被调用了。Python显示第四行(来自某些_包导入公共_函数))作为错误源。如何在调用此脚本之前模拟此对象?

在进行导入之前,您可能必须模拟导入-请查看。谢谢您的建议,我将尝试这样做。伟大的文章:)你可能必须在你做导入之前模仿导入-看看。谢谢你的建议,我会试试的。伟大的文章:)