我正在尝试解决Django测试遇到的循环导入问题。
我的目录结构是:
app/tests:
test_user_level01.py
test_user_level02.py
在每个文件中,我都有要测试的类,分别为200s和403s(以及其他类)。级别2的用户应具有级别1用户拥有的所有get 200,级别1的用户应具有级别2用户拥有的所有get 403。因此,我有一个循环导入。
通常,我会通过绝对导入来解决此问题,但我不知道那会是什么。
我尝试过:
"""test_user_level01.py"""
from . import test_user_level02
"""test_user_level02.py"""
from . import test_user_level01
但这似乎会导致循环导入错误(缺少类)。
提前感谢您的帮助。
PS。以下内容无效:
import app.tests.test_user_level01 as level01
OR:
import tests.test_user_level01 as level01
OR:
import .test_user_level01 as level01
答案 0 :(得分:0)
将通用代码(即在test_user_level01.py
和test_user_level02.py
中使用的代码)移动到单独的文件中,例如app/tests/common.py
,然后从那里导入。别忘了将app/tests
打包成一个包(即在目录中创建__init__.py
文件)。
"""test_user_level01.py"""
from app.tests.common import some_common_class_name
"""test_user_level02.py"""
from app.tests.common import some_common_class_name