툴팁을 추가하기 위해 내용의 단어를 레일 도우미로 바꿉니다. 전혀 문제가 전혀 작동하지 않지만, 정확한 출력에이 도우미를 테스트하고 싶습니다. 교체가 원치 않는 형식을 추가하기 때문에이 도우미를 실제로 테스트하기가 어렵습니다.생성 된 텍스트에 대한 테스트 작성
원래 문자열은
a piece of <a href="http://">content</a> that contains jargon1 to be replaced
내 도우미는 툴팁에게 주입 된 HTML 모든이의
a piece of <a href="http://">content</a> that contains <a href='#jargon-130'
class='jargon-tip'
data-toggle='tooltip'
data-placement='top'
data-original-title='desc for jargon 1'
rel='help'>jargon1</a>
to be replaced
첫째와 문자열의
content.gsub!(/#{jargon.word}/i, get_node(jargon))
def get_node jargon
<<-HTML
<a href='#jargon-#{jargon.id}'
class='jargon-tip'
data-toggle='tooltip'
data-placement='top'
data-original-title='#{jargon.desc}'
rel='help'>#{jargon.word}</a>
HTML
end
결과를 렌더링하기 위해 일부 HTML을 jargon1 대체 that contains
과 <a
사이의 7 공백이고 i html로 결과에 인라인을 표시하고 싶지만 위 코드처럼 읽을 수 있도록 포맷 된 것을 좋아한다.
최종 목표는 구문 분석 된 문자열을 미리 정의 된 문자열과 비교하는 강력한 테스트를 작성하는 것입니다. 지금은 문자열의 일부분 (expect(result).to include("data-original-title='desc for jargon 1'")
)에 대해서만 테스트를합니다. \ n 문제가 있기 때문에 형식이 잘못되어 테스트가 어려울 것입니다.
미리 감사드립니다.
이 그것을하는 더 나은 방법이다가, 바로 그것을 변경 ..하지만 난 여전히 테스트 도우미의 비교 문자열에서 들여 쓰기를 사용하려고합니다. 결과에서 내 코드/변수 값에서 생성 된 줄 바꿈을 무시하는 방법이 있습니까? html을 들여 쓰면 ('\ n') 추가됩니다. 감사합니다 – Daniel
예, 스트립과 gsub 내 대답을 참조하십시오. –