2013-12-13 2 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;"사이에 공백을 넣었습니다. 이것은 또한이 질문의 결과물로 변환되기 때문입니다. 아무쪼록? 또는이 줄을 어떻게 테스트해야합니까?

내가 올바른 답을 발견하지 못했지만, 내가 다시 assert_select "h3#account_owner", "This is Jhon's account".gsub("\'", '&# x27;')

같이 할 그 라인을 테스트

+0

테스트 파일의 첫 줄에 '# encoding : UTF-8'을 추가하십시오. http://stackoverflow.com/questions/20338047/integration-testing-html-special-characters –

+0

@Taiki Tried, 그러나 일하지 않았다. –

답변

3

, 나는 사이에 공백을 넣어 "& #의 X27을;" 그것은 또한이 대답의 결과물로 변환되기 때문입니다. 나는 아직도 이것을 시험 할 더 좋은 방법을 찾고있다.

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

assert_select 대신 have_css를 사용하십시오.

+2

코드 응답 만 피하고 솔루션을 설명하십시오. – Micho

+1

이 코드 단편은 질문을 해결할 수 있지만 [설명 포함] (// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) 정말 게시물의 품질을 향상시키는 데 도움이됩니다. 앞으로 독자의 질문에 답하고 있으며 코드 제안의 이유를 알지 못할 수도 있습니다. 또한 주석을 설명하기 위해 코드를 군중시키지 마십시오. 그러면 코드와 설명 모두 가독성이 떨어집니다! – kayess