4

我很难调试在本地通过但在 travis 上没有通过的硒测试。

根据 travis 构建日志,它在构建#311时通过,但在构建#312开始失败,显然是因为提交e6ee7de08800...7617088b4ba6 - 它只包括一个新的语言环境 (.po) 文件和版本提升。

但是硒测试在本地通过。你可以试试看:

AUTOCOMPLETE_LIGHT_VERSION="master"
CITIES_LIGHT_VERSION="master"

rm -rf autocomplete_light_env/

virtualenv autocomplete_light_env
source autocomplete_light_env/bin/activate
pip install selenium
pip install -e git+git://github.com/yourlabs/django-cities-light.git@$CITIES_LIGHT_VERSION#egg=cities_light
pip install -e git+git://github.com/yourlabs/django-autocomplete-light.git@$AUTOCOMPLETE_LIGHT_VERSION#egg=autocomplete_light
cd autocomplete_light_env/src/autocomplete-light/test_project
pip install -r requirements.txt
./manage.py test autocomplete_light

它将输出如下内容:

----------------------------------------------------------------------
Ran 49 tests in 22.990s

OK
Destroying test database for alias 'default'...

也许 travis-ci 有问题?我不知道。欢迎任何帮助 B)

4

1 回答 1

2

因为 django selenium 测试使用多线程,所以 webserver 和测试运行异步运行。

Travis-ci 是其自身成功的牺牲品,它需要增加请求之间的睡眠时间以修复构建。

- 编辑 -

我在 django-session-security 2.0.0 中遇到了同样的问题,但我发现了一个有趣的模式,它可以抵抗 travis。基本上,“等待”事情发生而不是“睡觉然后期待”。

于 2013-02-14T17:44:53.337 回答