如何仅为我的所有Django应用程序运行测试?

Thi*_*Lam 20 django

现在,如果我想从我的所有应用程序运行测试,我会去:

python manage.py test app1 app2 app3
Run Code Online (Sandbox Code Playgroud)

如果我跑:

python manage.py test
Run Code Online (Sandbox Code Playgroud)

INSTALLED_APPS运行所有应用程序的测试,包括django.是否有一个简单的命令来运行我创建的所有应用程序的测试?

Apr*_*che 24

可悲的是,没有这样的命令.Django没有办法告诉哪些应用程序是"你的"而不是别人的应用程序.

我建议写一个新的管理命令,称之为mytest.然后创建一个新设置MY_INSTALLED_APPS.mytest命令将为MY_INSTALLED_APPS中的每个应用程序运行测试.你需要mytest命令来继承django.core.management.base.AppCommand.django.core.management.call_command也会有所帮助.

此方法的唯一问题是您必须不断维护MY_INSTALLED_APPS设置以确保其正确.

  • 通过在`settings.py`中将MY_INSTALLED_APPS与INSTALLED_APPS相结合,可以使此解决方案成为DRY.然后,只有在决定是否要将应用程序与`mytest`一起运行时才将其添加到设置中. (13认同)