我有一个网站要测试状态代码,使用curl命令获取网站的状态代码。有时它会提供200和302状态代码。 我正在使用serverspec来测试网站状态代码。 当我获得2个状态代码时,我想使用'或'完成它的条件。 我怎么能用它 这是我的Serverspec测试用例。
describe command('curl -IL --retry 4 "www.example.com"') do
its(:stdout) { should match '200' or '302' }
end
这个给我错误。
答案 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