如何使用“终止ruby单元测试”;通行证;还是成功状态

如何使用“终止ruby单元测试”;通行证;还是成功状态,ruby,testunit,Ruby,Testunit,首先,非常感谢您阅读此问题 我正在使用Ruby-1.8.7和Webdriver连接到FF浏览器。我正在测试我们的产品功能。有一个表单,我输入错误,希望收到错误消息。这是5个步骤(页面)的过程,当我点击下一步按钮时,我可能会根据我在该特定页面上的输入得到错误。只有当输入错误且我单击“下一步”按钮时,才会出现错误。若我收到预期的错误消息,我应该将测试标记为通过。简单的例子是,如果我在描述字段中输入的描述太长,系统将抛出错误消息“description too long” 这里的问题是,每当我得到这种

首先,非常感谢您阅读此问题

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

这里的问题是,每当我得到这种预期的错误时,我就要用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都是相同的,测试应该像我预期的那样成功终止

请引导我


Test::Unit

不知道Test::Unit,但是在rspec中有一个
期望{some code}。要引发_错误(MySpecificError)
@Sergio Tulentsev,感谢您编辑此代码的格式