2013-12-13 54 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; s帐户'

我在“&#x27;”之间放了一个空格“因为它也转换成这个问题的输出。 任何猜测?或者我应该如何测试这条线?

+0

试着在测试文件的第一行添加'#incoding:UTF-8'参考:http://stackoverflow.com/questions/20338047/integration-testing-html-special-characters –

+0

@Taiki试过了,但没有奏效。 –

回答

3

我没有找到一个有效的答案,但测试该行我做了什么样 assert_select "h3#account_owner", "This is Jhon's account".gsub("\'", '&# x27;')

同样,我把之间的空间“&#X27;”因为它也转换成这个答案的输出。我仍在寻找更好的方法来测试这一点。

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

使用have_css代替assert_select。

+2

请避免代码只回答并解释您的解决方案。 – Micho

+1

虽然此代码片段可能会解决问题,但[包括解释](// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)确实有助于提高帖子的质量。请记住,您将来会为读者回答问题,而这些人可能不知道您的代码建议的原因。也请尽量不要用解释性注释来挤占代码,这会降低代码和解释的可读性! – kayess