2013-12-13 13 views
6

Mój kod w widoku jestassert_select nie powiedzie się z pojedynczy cudzysłów (apostrof) Zawartość

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

Linia przetestować ten kod jest nie

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

test i mówi

„To jest konto Jhona "oczekiwano, ale było To jest Jhon & # x27; s konto"

Umieszczę spację między "& # x27;" ponieważ przekształca się również w "na wyjściu tego pytania. Jakieś domysły? Lub jak mam przetestować tę linię?

+0

Spróbuj dodać '# kodowanie: UTF-8' do pierwszej linii pliku testowego, odnośnik: http://stackoverflow.com/questions/20338047/integration-testing-html-special-characteriques –

+0

@Taiki Tried, ale nie zadziałało. –

Odpowiedz

3

nie znalazłem poprawną odpowiedź, ale przetestować tę linię zrobić coś jak assert_select "h3#account_owner", "This is Jhon's account".gsub("\'", '&# x27;')

Znowu umieścić spację między „& # X27;” ponieważ również przekształca się w "na wyjściu tej odpowiedzi. Wciąż szukam lepszego sposobu na przetestowanie tego.

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

Użyj has_css zamiast assert_select.

+2

Należy unikać odpowiedzi tylko na kod i wyjaśnić rozwiązanie. – Micho

+1

Chociaż ten fragment kodu może rozwiązać pytanie, [w tym wyjaśnienie] (// meta.stackexchange.com/questions/114762/explaining-entirely-code-ans -answers) naprawdę pomaga poprawić jakość twojego posta. Pamiętaj, że odpowiadasz na pytanie przeznaczone dla czytelników w przyszłości, a te osoby mogą nie znać powodów sugestii dotyczących kodu. Proszę również starać się nie tłumić kodu za pomocą komentarzy wyjaśniających, co zmniejsza czytelność zarówno kodu, jak i objaśnień! – kayess

Powiązane problemy