リクエスト仕様を書いており、 "Reports»Aging Reports"という文字列の有無をテストしたいと思います。私は、直接私のマッチャー式に文字を入れた場合、私は、エラー(無効なマルチバイト文字)を取得するので、私はこの試みた:私は「ページコンテンツのhtmlエンティティのRspecテスト
expected there to be content "Reports » Aging Reports" in "\n Reports » Aging Reports\n
:これは、メッセージを使用してテストを失敗したpage.should have_content("Reports » Aging Reports")
を何も成功しなかった.html_safe
のようなものを試しました。 htmlエンティティを含むテキストをテストする方法はありますか?
編集:
ここでhtmlソースの関連するエリアです:
<a href="/reports">Reports</a> » <a href="/aging_reports">Aging Reports</a>
HTMLソースは '»'と 'ない»が'含まれているためと思われます。 '»'の代わりに '»'を使うようにHTMLを変更してください。実際にレンダリングされるHTMLとは何ですか? HTMLソースの '»'部分か '»'と定義されていますか?ソースHTMLを表示してください。しかし、 "»"ではなく "»"と表示されているのはなぜか分かりません。 – Zabba
HTMLは実際には»です。»は私が試した»エンティティの別の形式ですが、質問を更新しました。 – MWean
RSpecが '»'を '»'に変換しているようです。あなたのテストで実際のキャラクターを含めてみてください。 – thomasfedb