2013-12-13 14 views
6

im Hinblick Mein Code istassert_select nicht mit Apostroph (Apostroph) Inhalt

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

Die Leitung dieser Code zu testen, ist

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

-Test schlägt fehl, und sagt

„Diese ist Jhons Konto "wurde erwartet, aber war Das ist Jhon & # x27; s Konto"

Ich habe einen Platz zwischen "& # x27;" weil es auch in 'auf Ausgabe dieser Frage umwandelt. Irgendeine Schätzung? Oder wie soll ich diese Linie testen?

+0

Versuchen Sie, '# encoding: UTF-8' in die erste Zeile Ihrer Testdatei einzufügen. Referenz: http://stackoverflow.com/questions/20338047/integration-testing-html-special-characters –

+0

@Taiki Tried, aber hat nicht funktioniert. –

Antwort

3

ich keine gültige Antwort gefunden haben, aber diese Linie ich etwas tun, um zu testen, wie assert_select "h3#account_owner", "This is Jhon's account".gsub("\'", '&# x27;')

Wieder habe ich einen Raum zwischen „& # x27;“ weil es auch in 'auf Ausgabe dieser Antwort umwandelt. Ich bin immer noch auf der Suche nach einem besseren Weg, dies zu testen.

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

Verwenden Sie have_css anstelle von assert_select.

+2

Bitte vermeiden Sie Code-Only-Antworten und erklären Sie Ihre Lösung. – Micho

+1

Während dieses Code-Snippet die Frage lösen kann, hilft [einschließlich einer Erklärung] (// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) wirklich, die Qualität Ihres Posts zu verbessern. Denken Sie daran, dass Sie die Frage für Leser in der Zukunft beantworten, und diese Leute könnten die Gründe für Ihren Codevorschlag nicht kennen. Bitte versuchen Sie auch nicht, Ihren Code mit erklärenden Kommentaren zu füllen, dies verringert die Lesbarkeit sowohl des Codes als auch der Erklärungen! – kayess