2016-09-02 3 views
1

WicketTester 및 Spock/Mockito의 도움으로 개찰구를 단위 테스트하려고합니다.Wicket 구성 요소 모의 방법

이 패널에서는 좋은 사례 시나리오 인 ModalWindow (확인 대화 상자)이 표시됩니다.

이 대화 상자가 표시되는지 확인하고 싶습니다. 따라서 구성 요소를 조롱하고 패널에 삽입하고 show 메서드가 호출되는지 테스트 해 봅니다. 이 개찰구는 다음과 같은 오류가 발생으로 작동하지 않습니다 : 그것은 슈퍼 클래스의에 onDetach 메소드를 호출 할 수 없습니다 모의을 놀라운 일 아니에요

java.lang.IllegalStateException: org.apache.wicket.Component has not been properly detached. 
Something in the hierarchy of X has not called super.onDetach() in the override of onDetach() method 

.

ModalWindow 스터 빙을 시도하고 스파이를 사용하여 show 메서드가 호출되었는지 확인했지만 해당 메서드의 구현에 모의하기가 어려운 종속성/외부 호출이 있습니다.

이 문제에 어떤 방법으로 접근해야합니까? 아니면 이런 종류의 테스트 작업을하려고하지 않아도됩니까?

답변

0

#show() 메서드를 재정 의하여 modalWindow의 사용자 지정 버전을 만들어 super.show()를 호출하고 메서드가 호출되는 플래그를 발생시킵니다. 그런 다음 패널 테스트에서이 사용자 정의 버전을 사용하십시오.