检查测试是否失败并相应地提供控制台输出

时间:2018-09-17 02:17:36

标签: ruby testing rspec functional-programming capybara

我是红宝石的新手,想在我的红宝石/水豚测试中添加一个步骤, “如果测试A失败, 在控制台中记录以下消息:“微服务A当前已关闭。”

这应该在之后的挂钩中还是在测试内部完成?另外,命令是什么?

describe 'Test Description' do

  before (:each) do
    login   end

  after (:each) do
    logout
    if test fail do
      console.log ("Error: Microservice A currently is down")
    end   
  end

  it 'Check Page X Loads', :retry => 3, :retry_wait => 3 do
    page.should have_content 'Frisbee'
    navigate_to_menu 'Toys'
    page.has_content?("Frisbee")
    expect(page).to have_content('Buy Frisbee')   end

end

谢谢

1 个答案:

答案 0 :(得分:1)

after挂钩接收作为参数运行的测试,因此您可以执行

after do |example|
  if example.exception
    puts "Error: Microservice A currently is down"
  end
end