我有独立的水豚脚本在我的实时应用程序上进行验收测试。我想在完成测试用例后在控制台上打印出结果,因为某些原因,即使我的测试用例通过,我的终端上也没有打印出来。
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$
答案 0 :(得分:0)
问题是你实际上并没有在这里通过任何类型的测试运行器进行测试。您所做的就是定义一个类,创建一个实例,然后在该实例上调用一个方法。如果您希望输出显示“已通过”,请在致电puts
t.login
...
t.login
puts "Passed!"
如果登录方法中的should
失败,则会引发异常,puts
将永远不会被执行,如果通过,则只返回登录,puts
将被执行