2013-12-13 4 views
6

ビューの私のコードはassert_selectは、単一引用符(アポストロフィ)コンテンツで失敗

<h3 id="account_owner">This is Jhon's account</h3> 

このコードは

assert_select "h3#account_owner", "This is Jhon's account" 

テストが失敗していると

「これを言うテストするためのラインであります「Jhonのアカウントです」は期待されていたが、これはJhon &#x27;アカウント '

"&#x27;"の間にスペースを挿入しました。これはまた、この質問の出力時に変換されるからです。 または、この行をどのようにテストすればよいですか?

+0

テストファイルの最初の行に「#encoding:UTF-8」を追加してみてください。http://stackoverflow.com/questions/20338047/integration-testing-html-special-characters –

+0

@Taiki Tried、働いていませんでした。 –

答えて

3

有効な回答を私が見つかりませんでしたが、私は assert_select "h3#account_owner", "This is Jhon's account".gsub("\'", '&# x27;')

ような何かを、その行をテストするために、繰り返しますが、私はとの間のスペースに置く「&#のX27を。」この答えの出力にも変換されるからです。私はまだこれをテストするためのより良い方法を探しています。代わりにassert_selectの

0
expect(rendered).to have_css(".columns", :text=>"This is John's account") 

使用have_css。

+2

コードのみの回答は避け、解決方法を説明してください。 – Micho

+1

このコードスニペットは問題を解決するかもしれませんが、[説明を含む](// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)本当にあなたの投稿の質を向上させるのに役立ちます。将来読者の質問に答えていることを覚えておいてください。そうした人々はあなたのコード提案の理由を知らないかもしれません。あなたのコードに説明的なコメントを詰め込まないようにしてください。これは、コードと説明の両方の可読性を低下させます! – kayess

関連する問題