gpt4 book ai didi

python - Django/Travis CI - 配置 .travis YAML 文件以首先启动本地主机服务器,然后在不挂起的情况下运行我的测试?

转载 作者:太空宇宙 更新时间:2023-11-03 14:19:11 25 4
gpt4 key购买 nike

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

最佳答案

我真是太傻了,在连续战斗了将近两天之后,我弄明白了。非常简单的答案,我觉得很愚蠢,但我会把它贴在这里,以防其他人用 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

关于python - Django/Travis CI - 配置 .travis YAML 文件以首先启动本地主机服务器,然后在不挂起的情况下运行我的测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30136156/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com