2014-07-20 4 views
1

Wicket의 동적 텍스트와 사용자 이름을 텍스트로 연결하는 링크를 구현하려고합니다. 이처럼 보이는 파일의 호텔을Wicket에서 링크의 텍스트를 테스트하는 방법

<a wicket:id="somelink"><wicket:message key="some.key">bla bla</wicket:message></a> 

: 내 첫번째 생각은 마크 업이 같은 뭔가를했다

some.key=Username is: {0} 

그리고 코드 :

String username = ... 
add(new Link("somelink", new StringResourceModel("some.key", this, null, username)) { 
    ... 
}); 

문제가 있다는 것입니다을 링크 텍스트가 사용자 이름 (단위 테스트에 있음)으로 설정되어 있는지 테스트하는 방법을 알지 못합니다.
나는 시도했다 :

  • WicketTester 사용의 assertLabel 방법을하지만 Link 사용하여 Label
  • Link 캐스팅 수 없습니다 '(의 getModelObject() 방법은 원래의 메시지를 반환 즉를 포맷하기 전에 사용자 이름)
  • 메시지에 ID를 추가하고 경로를 통해 직접 액세스하면이 경로가 존재하지 않는다는 메시지가 나타나기 때문에 작동하지 않습니다. wicket:message 요소에 ID를 부여 할 수 있습니까?

의견이 있으십니까?

답변

4

어떻게

WicketTester.getTagById(java.lang.String) 또는 WicketTester.getTagByWicketId(java.lang.String) 어떻습니까? 반환 값은 TagTester이고, TagTester.getValue()은이 태그의 값을 반환합니다. 여기에는 열린 태그와 닫는 태그 사이의 모든 데이터가 문자열로 포함됩니다. 그럼 당신은 결과 문자열 및 기대치에 assertEquals를 사용할 수 있습니다 ...

+0

나에게 잘 어울려요 :-) 나는 나중에 나중에 시도해 볼게요. 감사 ! – eitanfar

관련 문제