如何使用“通过”或成功状态终止ruby单元测试

时间:2015-09-25 10:58:42

标签: ruby testunit

首先非常感谢你阅读这个问题。

我使用Ruby-1.8.7和Webdriver连接到FF浏览器。我正在测试我们的产品功能。有一个表单,我给出错误的输入和期待错误消息。这是5个步骤(页面)过程,当我点击下一个按钮时,我可能会根据我在该特定页面上的输入得到错误。只有在输入错误时才会出现错误,我点击下一步按钮。如果我收到预期的错误消息,我应该将测试标记为通过。简单的例子是如果我在Description字段中输入太长的描述,系统将抛出错误消息“描述太长。”

这里的问题是在我得到这种预期错误时进行测试时,我希望使用Pass / Success终止Ruby单元测试并执行新测试。

我尝试了不同的方法,但无法将测试设置为通过/成功。 示例代码。

def enterdata()

    ...
    click_next_and_check_for_error_message(timeout,expected_message)
    set_file_server_settings(args)
    click_next_and_check_for_error_message(timeout,expected_message)
    set_select_filters(args)
    click_next_and_check_for_error_message(timeout,expected_message)
    set_registration_scope(args)
    click_next_and_check_for_error_message(timeout,expected_message)
    set_schedule_scan(args)
    click_next_and_check_for_error_message(timeout,expected_message)
end

def click_next_and_check_for_error_message(...)

    ...

    if !message.empty?      
        print "\nExpected is #{exp_msg}"
        print "\nActual is #{message}"
        if (exp_msg == message)
        #if assert_equal( exp_msg, message, "Expected message #{exp_msg} did not come" )        
        print "\n*** MATACHED ***\n"
        raise TestPassed
    else
        raise ApplianceFailure, message
    end      
end

exo_msg和message都是相同的,测试应该像我期望的那样成功终止。

请指导我。

测试::单位

0 个答案:

没有答案