【发布时间】:2014-07-31 15:05:20
【问题描述】:
请记住,我对 Frank 和 ruby 完全陌生..
每当我们运行 Frank 并且测试失败时,Frank 都会让我们知道测试失败,但内置的 Frank 服务器似乎只是坐在那里并超时大约 60 秒,然后再继续下一个测试。有没有人遇到过这个/有修复,特别是如果它可以在不改变弗兰克使用的任何宝石的情况下完成?
【问题讨论】:
请记住,我对 Frank 和 ruby 完全陌生..
每当我们运行 Frank 并且测试失败时,Frank 都会让我们知道测试失败,但内置的 Frank 服务器似乎只是坐在那里并超时大约 60 秒,然后再继续下一个测试。有没有人遇到过这个/有修复,特别是如果它可以在不改变弗兰克使用的任何宝石的情况下完成?
【问题讨论】:
好的,所以这不是我正在寻找的 100% 答案,但是:
超时时间为NET:HTTP(ReadTimeout),如果在创建新的HTTP 对象时未指定,则默认为60 秒。这个HTTP 对象是在Cucumber 中的gateway.rb 中创建的,所以(我不记得确切的方法,但它是在执行HTTP.new 的地方)只需添加一个新行http.read_timeout = <yourvalueinseconds>
这会将超时更改为您指定的任何值。我仍在寻找一种不涉及修改Frank 使用的任何 gem 的解决方案,因此我可以通过 SCM 推出此修复程序,但经过大量搜索和搜寻 frank,并与在 Twitter 上创建 Frank 的人,这可能是不可能的。
编辑:
原来更改 read_timeout 解决了问题,但实际上并不是问题的根源。它源于测试失败后的frankly_screenshot()。可能应用程序在测试失败后崩溃了,frankly_screenshot() 没什么可抢的,但一直在尝试直到超时
【讨论】: