我遇到了一个问题,即 django 测试运行程序没有找到我的应用程序的测试,比如这个:
该线程上的一条评论建议使用 django-admin.py 创建一个新应用程序并查看测试是否在那里运行。例如
django-admin.py startapp delme
然后
adding "delme" to my INSTALLED_APPS
然后
copying my tests.py from the app where it wasn't getting found into delme/
和中提琴!测试确实运行了。所以,好吧,我有工作,但我不明白。我重新阅读了我认为应该是 django 文档的相关部分,但一分钱拒绝放弃。
顺便说一句,该应用程序通过 runserver 和 wsgi 工作,因此似乎没有任何严重的配置问题。而且我的测试都从他们的新家通过,所以我显然需要更多测试:)
具体来说,我在 virtualenv 中运行 django,所以我在我希望运行测试的(激活的)virtualenv 中运行了“django-admin.py startapp”。这不会使测试在我的其他 virtualenvs 中运行,我仍然有旧的症状(Ran 0 测试)。我有大量的 virtualenvs,由非平凡的摊铺机脚本管理。一种使用“path.copytree”来部署项目,重写 apache 配置文件,重新启动 apache,使用适当的 virtualenv 写入 wsgi 文件等。另一种使用 PIP/GCC/aptitude/etc 来引导/拆除不同的环境,更新包根据配置等。所以我想了解 django-startapp 和简单地复制文件之间的区别,所以我可以修复这些 paver 脚本,以便测试可以在我想要的任何环境中运行。