我最近在我正在开发的django项目中实现了一个可重用的应用程序。为了这个问题,我们称之为reusable_app
。这个应用程序也有一些运行的单元测试,但是,这些测试取决于在model.py
的测试旁边某处声明的一些基本模型。现在Django单测试迁移
/resuable_app
__init__.py
models.py
views.py
urls.py
/tests
__init__.py
tests.py
/simple_app
__init__.py
models.py
,该机型在数据库中加载,除非我在INSTALLED_APPS
测试配置文件中指定的文件夹。我想知道是否有另一种方法来实现这一点,而不必在设置文件中公开应用程序?我似乎可以通过@override_settings
指定应用程序,但迁移未运行。
例:
@override_settings(INSTALLED_APPS=['reusable_app'])
class TestReusableApp(TestCase):
def test_something(self):
...
如果reusable_app
设置模块INSTALLED_APPS
在未指定此仍产生ProgrammingError
。我错过了什么,或者有另一种方法吗?