2013-03-21 61 views
0

相关联。在水豚+的Webkit +红宝石1.9.3,我有以下的HTML测试与现场

simple_form产生时,有一个特定的字段中的错误以下。我在“获取”错误文本范围时遇到了麻烦,并且知道我确实拥有与“标题”关联的关键字,而不是另一个也可能有错误的字段。

<div class="input-wrapper string required error"> 
    <div class="input-label"> 
     <label class="string required" for="event_title"> 
     <abbr title="required">*</abbr> 
     Title 
     </label> 
     <span class="error-text">can't be blank</span> 
     <input id="event_title" class="string required" type="text" value="" size="50" name="event[title]"> 
    </div> 

(以及许多其他领域,当然!)

我想测试题目,其实需要,当用户离开空白,并点击提交按钮,错误消息“Can” t是空白的“存在。在调整simple_form来包装整个事物之前,有没有办法简单地找到标签,然后转到DOM中的下一个元素以查看它是否具有“不能空白”的内容?

回答

1

我不确定你真的需要那样做。测试用例应该使页面上只有一条错误消息。您可以有其他测试检查多个错误消息,但应该有一个特定于此方案的测试。这样做的话,检查span.error-text是否在页面上并且它包含文本的测试不能为空,这应该足够了。

page.should have_selector('span.error-text', text: "can't be blank") 
+0

非常好的一点。我继承了测试,所以没有考虑仅仅重构测试一件事情。优秀的建议。 – 2013-03-22 18:38:28