2

我有一个网站要测试状态码,使用 curl 命令获取网站的状态码。有时它会给出 200 和 302 状态码。我正在使用 serverspec 来测试网站状态代码。当我得到 2 个状态码时,我想使用“或”条件来完成它。我怎么能用它。这是我的 Serverspec 测试用例。

describe command('curl -IL --retry 4 "www.example.com"') do
  its(:stdout) { should match '200' or '302' }
end

这对我来说是错误的。

4

1 回答 1

4

我从未见过在 serverspec 中。但也许只是在命令本身中解决这个问题:

describe command('curl -sL -w "%{http_code}\\n" "www.example.com" -o /dev/null | sed "s/200/OK/" | sed "s/302/OK/"') do
  its(:stdout) { should match 'OK' }
end
于 2016-03-25T06:26:42.300 回答