我正在尝试测试我的rails应用程序的警报消息。我有以下代码在Twitter Bootstrap中生成:
<div class="alert fade in alert-success">
<button class="close" data-dismiss="alert">×</button>
Signed out successfully.
</div>
我要做的就是取出“成功退出”。
目前我有:
def alert_text
@page.find('div.alert').text
end
但这让我“×成功签名。”
在我的测试中我正在做:
assert_equal "Signed in successfully.", my_page.alert_text
如果我更改断言以包含×
,则会收到invalid multibyte char (US-ASCII)
错误。是否有一种简单的方法来拉出文本并忽略按钮?我会将文本包装在一个单独的div中,但它是在gem中生成的,所以我不能。
答案 0 :(得分:0)
由于很难看到其他内容,我会添加一个带有id="signedOut"
的自定义元素或特定文本周围的内容,并通过id访问它。它不会破坏你的boostrap样式。
或者,尝试在查找中更具体。您可能正在使用以警报开头的两个类。
def alert_text
@page.find('div.alert fade in alert-success').text
end
如果您有两个div使用此类,您可以添加到它的末尾或只是进入bootstrap文件夹中的类定义并再添加一个层。 (Bootstrap使用js和css就像我们其他人一样,虽然它可以很快地让事情发生)。