如何在serverspec中使用或条件?

时间:2016-03-24 12:16:12

标签: curl serverspec

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

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

这个给我错误。

1 个答案:

答案 0 :(得分: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