测试与现场
问题描述:
相关联。在水豚+的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中的下一个元素以查看它是否具有“不能空白”的内容?
答
我不确定你真的需要那样做。测试用例应该使页面上只有一条错误消息。您可以有其他测试检查多个错误消息,但应该有一个特定于此方案的测试。这样做的话,检查span.error-text是否在页面上并且它包含文本的测试不能为空,这应该足够了。
page.should have_selector('span.error-text', text: "can't be blank")
非常好的一点。我继承了测试,所以没有考虑仅仅重构测试一件事情。优秀的建议。 – 2013-03-22 18:38:28