繁体   English   中英

从没有manage.py的Django库运行单元测试

[英]Running unit tests from Django libraries without manage.py

我正在尝试为依赖于Django的Python库编写单元测试。 当我尝试将它们作为Django项目的一部分运行时,它们工作正常:

>python manage.py test mexaminer.tests
Creating test database for alias 'default'...
.
----------------------------------------------------------------------
Ran 1 test in 0.006s

OK
Destroying test database for alias 'default'...

当我尝试自己运行它们时,会发生这种情况:

>python -m unittest mexaminer.tests
Traceback (most recent call last):
  File "C:\Python34\lib\site-packages\django\conf\__init__.py", line 38, in _set
up
    settings_module = os.environ[ENVIRONMENT_VARIABLE]
  File "C:\Python34\lib\os.py", line 631, in __getitem__
    raise KeyError(key) from None
KeyError: 'DJANGO_SETTINGS_MODULE'

当我运行python -m django.utils.unittest mexaminer.tests时会发生同样的事情。 有没有办法在没有设置完整的Django项目的情况下运行我的单元测试? 源代码在这里

你看到这个错误,因为django无法弄清楚你的设置文件在哪里。

当你使用manage.py test django设置设置的路径。

如果要在不同的环境中运行测试,则需要定义设置DJANGO_SETTINGS_MODULE并创建测试数据库的设置方法。

最好你会创建一个删除测试数据库的拆除。

您可以使用该文档来了解如何执行此操作。

暂无
暂无

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

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