Django / Travis CI-配置.travis YAML文件以首先启动localhost服务器,然后运行我的测试而不挂起?

rya*_*nap 3 python django unit-testing travis-ci

我开始为我的(第一个)Django项目之一设置CI环境。我在特拉维斯遇到麻烦了;当我在本地测试代码时,我首先必须运行“ manage.py runserver”来启动服务器;然后我可以使用“ manage.py测试”运行单元测试。因此,在我的.travis.yml文件中,我首先启动服务器,然后运行单元测试,然后运行集成测试(它们是在自制的python脚本中)。我的主要问题是,这导致travis挂起:它启动服务器,然后等待输入。这是预期的;我整天仔细阅读的文档说,如果超过十分钟没有收到任何输出,它将出错。我将如何设置我的.travis文件来启动localhost服务器,然后使其继续运行并继续进行集成测试?单元测试很好,当然,我可以在不启动服务器的情况下运行它们,但是我需要运行服务器才能通过集成测试。到目前为止,我编写的唯一测试是从一个断言开始的,该断言用于检查“ Django”是否为页面标题。当然,如果没有服务器,此操作将失败。任何帮助将不胜感激..我知道代码在技术上还不错,因为整个问题是由于我无法正确配置.travis.yml文件,因此不让travis在它自己的本地主机实例上运行测试,但是在搜索了几个小时后,在我的dev分支上收到有关构建失败的第五或第六封电子邮件后,我很恼火。Travis文件:Django'是页面的标题。当然,如果没有服务器,此操作将失败。任何帮助将不胜感激..我知道代码在技术上还不错,因为整个问题是由于我无法正确配置.travis.yml文件,因此不让travis在它自己的本地主机实例上运行测试,但是在搜索了几个小时后,在我的dev分支上收到有关构建失败的第五或第六封电子邮件后,我很恼火。Travis文件:Django'是页面的标题。当然,如果没有服务器,此操作将失败。任何帮助将不胜感激..我知道代码在技术上还不错,因为整个问题是由于我无法正确配置.travis.yml文件,因此不让travis在它自己的本地主机实例上运行测试,但是在搜索了几个小时后,在我的dev分支上收到有关构建失败的第五或第六封电子邮件后,我很恼火。Travis文件:但是在搜索了几个小时并在开发分支上收到有关构建失败的第五或第六封电子邮件后,我很生气。Travis文件:但是在搜索了几个小时并在开发分支上收到有关构建失败的第五或第六封电子邮件后,我很生气。Travis文件: http://pastebin.com/U0GpnF5y

rya*_*nap 5

我真是太傻了,连续奋战了将近两天之后,我才明白了。简单的死定答案,我感到很愚蠢,但是我将其发布在这里,以防其他人对Linux shell所做的不只是简单的事情而已。
我在python manage.py runserver行的末尾附加了&号(我假设这告诉操作系统将其作为单独的作业运行,或者运行并继续下一个任务)并将其保存在before_script部分中。因此.yml文件的结尾看起来像:

before_script:
  python manage.py runserver &

script:
  coverage run manage.py tests
  coverage run functional_tests.py

after_script:
  coveralls
Run Code Online (Sandbox Code Playgroud)