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