2017-02-20 1 views
1

나는 우편물을 가지고있다. 그리고 그 우편물에 대한 전망. 미리보기에서 의 모든 것이 잘 보이고 링크가 제대로 렌더링됩니다.Rails/RSpec이 테스트에서 & 렌더링 할 수없는 이유는 무엇입니까?

문제는 사양 작성 (RSpec)입니다. 나는 링크의 '&'앰퍼샌드 테스트에서 제대로 표시되지 않기 때문에 테스트가 실패 일부 링크의 존재를 테스트 할 때 :

내가 테스트 (그리고 메일러 미리보기에 나타나는) :

https://nolp.dhl.de/nextt-online-public/set_identcodes.do?lang=de&idc=1234567890 

그래서, 내가 어떻게 그 감각을 만들 수 있습니다 테스트가 실패 할 때 내가 테스트 출력에 표시되는 내용

https://nolp.dhl.de/nextt-online-public/set_identcodes.do?lang=de&idc=1234567890 

? 미리보기 및 테스트에서 다르게 해석되는 메일은 무엇입니까? 그리고 어떻게 테스트해야합니까?

+1

'&는'URL 이스케이프는'및'탈출이다. "이것이 우편물 미리보기에 나타나는 방법"이라고 말하면 "이것이 내가 본 것"입니다. 그렇습니까? 어떤 경우에는 앰퍼샌드가 여전히 이스케이프 상태 일 가능성이 높지만 명확하지 않습니다. 진실을 찾기 위해 페이지 소스를 검사하십시오. –

+0

나는 Rails/RSpec이 왜 무엇을 기대 하는지를 알기가 어렵게 만드는 이유가 무엇인지 알아 냈습니다. 우편물 미리보기에 모든 것이 올바르게 표시되면 RSpec은 왜 같은 표현을 사용하지 않고 개발자가 문자 이스케이프에 대해 생각하도록 강요합니까? – Flip

+2

나는 그들이 둘 다 탈출했다고 생각한다. 미리보기에서 브라우저가 이스케이프를 처리하고 의도 한 출력을 보여줍니다. –

답변

1

테스트 출력은 html로 이스케이프됩니다. 당신은뿐만 아니라 탈출 HTML에 기대를 변환 할 수 있습니다

expected_link = 'https://nolp.dhl.de/nextt-online-public/set_identcodes.do?lang=de&idc=1234567890' 
expect(page).to have_content(ERB::Util.html_escape(expected_link)) 
+0

답변 해 주셔서 감사합니다. 내 질문은 또한 미리보기와 RSpec이 하나의 동일한보기를 보간하는 방법에 차이가있는 이유를 찾는 것을 목표로하고있었습니다. 훨씬 쉽고 직관적 인 방법으로 링크를 테스트 할 수 있습니다. – Flip

관련 문제