0

我正在尝试为某些服务编写服务器规范代码。我想添加超时,以便如果在给定时间内,命令没有响应,则测试用例应该失败。

尝试时timeout(0),测试通过了。这是否意味着没有超时?

代码:

Timeout.timeout(0) do
  describe 'Check' do
    describe command('echo xxxx | nc localhost xxxx') do
      its(:stdout) { should contain('xxxx') }
      its(:stderr) { should match '' }
    end
  end
end

一般timeout(0)timeout(-1)会表示没有超时。是否也与 serverspec 相同。请帮忙。

4

2 回答 2

1

来自Timeout文档:

等待块终止的秒数。可以使用任何数字,包括指定小数秒的浮点数。值 0 或 nil 将在没有任何超时的情况下执行该块。

重点是我的。

于 2017-11-10T14:58:41.640 回答
0

它实际上没有任何意义。另一个答案更正确地向您展示了原因,但 tl;dr 是代码是无用的,当有人错误地尝试超时进行测试时,它可能曾经是非零的。

于 2017-11-10T15:15:24.187 回答