代码之家  ›  专栏  ›  技术社区  ›  joel3000

“manage.py test”是如何工作的(pdb问题)

  •  1
  • joel3000  · 技术社区  · 14 年前

    我用dev服务器在mac上开发django应用程序。当我跑的时候 管理.py测试

    当我把这个应用程序推到运行apache2/nginxpdb的linux生产服务器(Ubuntu)上时,它就不能在这个站点上运行了。它抛出一个bdbquiit异常。我想我跑的时候会有用的 管理.py测试 ,但惊讶地发现测试只是跳过了pdb.set\u trace()调用,而没有停止调用。

    这似乎意味着 管理.py测试 是在Web服务器上运行的,但这似乎违反了直觉,因为我的测试代码是纯python,没有任何HTTP。

    如果 管理.py测试

    我试过安装ipdb,顺便说一句,它也做了同样的事情。

    1 回复  |  直到 14 年前
        1
  •  1
  •   Daniel Roseman    14 年前

    不知怎么的,你把问题诊断错了。说“manage.py test正在web服务器上运行”是没有意义的。您的Django安装甚至不知道存在一个web服务器,除非它实际上是由该web服务器通过WSGI调用的——当您通过WSGI运行测试时,显然不是这样 manage.py .

    你确定你的测试运行正确吗?试着放一个 self.assertTrue(False) 在测试中调用 pdb pdb公司 看看会发生什么。