python - 在没有 manage.py 的情况下从 Django 库运行单元测试

标签 python django unit-testing

我正在尝试为依赖于 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 项目的情况下运行我的单元测试?源代码是 here .

最佳答案

你看到这个错误是因为 django 无法确定你的设置文件在哪里。

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

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

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

你可以使用the documentation了解如何操作。

关于python - 在没有 manage.py 的情况下从 Django 库运行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28393443/

相关文章:

python - 练习 14 艰难地学习 Python

python - Pipenv:无条件安装平台特定包的依赖项?

python - Django 项目模板加载器设置

c++ - 如何在 C++ 中对 protected 方法进行单元测试?

python - “NoneType”对象没有属性 'text'

Python——输出文件中的数据位于不方便的位置

Django : How do I call "reverse" on a link to a static image file?

django - Python/Django : TypeError : __str__ returned non-string (type UUID)

php - 在功能测试期间,如何使用 Symfony2 的 session 服务持久保存数据?

c# - 无法将带 [] 的索引应用于类型 'CaSTLe.Proxies.RangeProxy' 的表达式