如何在独立水豚中打印输出

时间:2016-10-06 10:31:55

标签: rspec capybara capybara-webkit

我有独立的水豚脚本在我的实时应用程序上进行验收测试。我想在完成测试用例后在控制台上打印出结果,因为某些原因,即使我的测试用例通过,我的终端上也没有打印出来。

require 'rubygems'
require 'rspec'
require 'rspec/expectations'
require 'capybara'
require 'capybara/webkit'
require 'capybara/dsl'

Capybara.configure do |config|
  config.run_server = false
  config.default_driver = :webkit 
  config.javascript_driver = :webkit
  config.app_host = 'https://dx.com/' # change url
  config.timeout = 40
end


Capybara::Webkit.configure do |config|
 config.allow_unknown_urls
end

module DxBat
  class Test

  include RSpec::Matchers
    include Capybara::DSL
    def login
      visit("/")
        fill_in "emailAddress", :with => "sd_auto_bat@dx.com"
        fill_in "password", :with => "123456"
    click_button("submit")
    page.should have_content 'Dashboard'
  end
  end
end

t = DxBat::Test.new
t.login

输出

Loganathans-MacBook-Pro:Desktop Logan$ ruby sd_bat.rb 
Loganathans-MacBook-Pro:Desktop Logan$

1 个答案:

答案 0 :(得分:0)

问题是你实际上并没有在这里通过任何类型的测试运行器进行测试。您所做的就是定义一个类,创建一个实例,然后在该实例上调用一个方法。如果您希望输出显示“已通过”,请在致电puts

后添加t.login
...
t.login
puts "Passed!"

如果登录方法中的should失败,则会引发异常,puts将永远不会被执行,如果通过,则只返回登录,puts将被执行