我有以下用于气流设置的文件夹结构。我想对DAG进行单元测试,但是我无法理解如何运行单元测试,因为导入是在现有的taski实现中完成的
.
+-- dags
| +-- task1
| +-- dag.py
| +-- helper1.py
| +-- helper2.py
| +-- task2
| +-- *.py
+-- tests
+-- task1
+-- test_*.py
以下是导入结构:
#dag.py
from task1 import helper
#helper.py
from task1 import helper2
#test_validation.py
import unittest
from airflow.models import DagBag
class TestDag1(unittest.TestCase):
def setUp(self):
self.dagbag = DagBag(dag_folder="dags/")
我通过调用类似于python3 -m unittest discover -s tests
的函数来运行测试,这会导致导入错误,因为它将dags/文件夹视为主模块,但是由于当前的设置在airflow上运行,我不确定如何更改导入,以便一切都保持正常
我的问题是,我做错了什么?在dags实现中导入,或者不调整unittest设置以相应地导入。我如何解决这个问题
Python 3.8 气流1.10.9
您可以在运行时将路径显式添加到所需文件。例如,如果
foo.py
需要从/some/path/some_file.py
导入某些内容:应该是:
相关问题 更多 >
编程相关推荐