2012-04-23 3 views
0

Mockito를 사용하여 GWTP 응용 프로그램을 테스트하려고합니다.Mockito를 사용한 GWTP 장치 테스트

나는 내 View, Proxy, Placemanager 및 eventbus를 모의하려고합니다. 사용해보기 @Mock AbcView abc;

및 Abcview abc = Mockito.mock (AbcView.class);

그러나 조롱 된보기가 null로 인스턴스화 될 때마다. 어떻게 해결할 수 있습니까? 일단 뷰를 조롱하면 표현 자의 생성자가 다음 코드를 갖기 때문에 발표자 클래스 테스트를 계속할 수 있습니다. getView(). setUiHandlers (this);

뷰가 올바르게 인스턴스화 될 때까지 널 포인터 예외가 발생합니다.

답변

0

MockitoJUnitRunner 러너를 사용하여 테스트를 실행 했습니까?

+0

또는 정적 메서드 실행 : MockitoAnnotations.initMocks() –

+0

@Sydney : 나는 MockitoJunitRunner를 사용하여 테스트를 실행했다. – Anish

+0

간단한 테스트로 모든 것이 잘 작동하는지 확인하기 위해 게시 한 ExampleTest를 실행 해보십시오. – Sydney

0

@ Sydney의 답변 외에도 AbcView.class이 최종적이 아니어야합니다. 최종 클래스가 null 또는 런타임 오류를 발생시키는 지 여부를 잊어 버렸지 만 예상치 못한 동작의 원인 일 수 있습니다. 한 가지 방법 또는 다른 방법으로 조롱이 작동하지 않습니다. 클래스가 최종 클래스가 아닌 경우 해당 모의 메서드에서 스텁하는 메서드가 최종이 아닌지 확인해야합니다.

+0

클래스도 메소드도 final이 아닙니다. – Anish

+0

간단한 코드 스 니펫을 포함하고 @Setup이 있으면이 메소드를 테스트 메소드 및 일반 객체 정의 및 발표자 용 생성자로 사용하십시오. 아, 그리고 당신이 사용하고있는 mockito의 버전. 최신 버전은 생성자 삽입을 지원하지만 이전 버전에서는 그렇지 않습니다. –

+0

Mockito 1.9.0을 사용하고 있습니다. 내가 언급 한 것을 잊어 버린 한 가지는 테스트 설정을 수행하기 위해 gwtSetup 메소드를 사용하므로 GwTTestCase로 Testclas를 확장한다는 것입니다. 차이가 있습니까? 내 테스트를 GWTJunit 테스트 케이스로만하고 싶습니다. – Anish