【问题标题】:How to run specific tests with django-admin.py?如何使用 django-admin.py 运行特定的测试?
【发布时间】:2026-02-16 00:45:01
【问题描述】:

我有一个位于app/ 的应用程序和位于app/tests/tests.py 的测试。如何使用django-admin.py 运行这些测试?

我尝试了django-admin.py test appdjango-admin.py test app.testsdjango-admin.py test app.tests.tests,但没有成功。

我补充说,我还将--settings 参数添加到上述命令中,但为了便于阅读,将其删除。

【问题讨论】:

  • 我在周末制作了一个可重用的应用程序,并使用github.com/tomchristie/django-rest-framework 作为如何测试我的可重用应用程序的蓝图。如果您对他们使用的测试加载黑客不感兴趣,您可以添加 django-nose 作为测试依赖项并将其用于测试发现。我没有找到一种简单、直接或事实上的方法来测试可重复使用的应用程序。
  • 我必须使用django-admin.py 命令。我正在寻找简单的东西,只是指定要运行的测试,而不是那种骇客:)

标签: python django testing


【解决方案1】:

您需要在django-admin.py 上使用manage.py。所以运行./manage.py test app

【讨论】:

  • 我没有manage.py 文件,因为它是一个可重复使用的应用程序。我将django-admin.py--settings 参数一起使用,它的作用应与manage.py 相同。
  • 那么到底是什么问题呢?您不能指向测试目录中的测试吗?您的测试目录中有__init__.py 吗?如果没有,请使用内容from tests import * 创建它
  • 如果我这样做,如果无法从 Django-CMS 模块加载某些设置,为了兼容性,该模块比当前版本落后一些。无论如何,我需要从命令中手动选择该测试文件,这可能吗?
  • 我认为你不能选择测试文件。但是您可以选择要运行的测试用例或特定测试。见docs.djangoproject.com/en/1.5/topics/testing/overview/…
  • 我看到了,但它似乎只有在应用程序根目录中有 tests.py 时才有效。因为我在tests/ 中有那个文件,所以它不起作用。还是我错过了什么?