我正在尝试编写测试,测试django应用程序是否可运行。我只是想尝试运行django服务器,如果一切正常,返回代码0否则另一个代码。
python manage.py runserver
此命令运行无限循环,我需要通过 CTRL + C 来停止它。这就是问题所在。我想运行它几秒钟。
注意: 我是linux上的runnig django。
答案 0 :(得分:4)
对于在测试中检查的情况,您也可以使用
django.test.testcases.LiveServerTestCase
。这个课程将在后台启动你的应用程序。
这比仅运行Django 5秒更稳定,因为无论出于何种原因启动应用程序可能需要5秒以上。
答案 1 :(得分:2)
在Linux系统上,您可以使用timeout
。例如:
$ timeout 5 python manage.py runserver
它将运行命令5秒钟,然后终止程序。如果命令超时 - 我们想要的东西 - 退出代码是124.如果命令超时(这通常是因为发生错误) - 退出代码是内部命令的退出代码(所以{{1 }})。
所以我们可以让它像以下一样工作:
python manage.py runserver
请注意,有更好的方法来测试应用程序,并通过简单地检查服务器是否运行来测试应用程序根本不是详尽无遗的:从用户抓取页面的那一刻起,很多事情都可能出错。< / p>