2013-03-01 21 views
241

戻り値の型がvoidのメソッドがあります。また、いくつかの例外をスローすることができるので、スローされた例外をテストしたいと思います。すべての試みは、同じ理由で失敗した:Mockitoテストvoidメソッドが例外をスローする

方法ときStubberは、引数には適用されないタイプで(T)(空)私はスローするメソッドを取得する方法

任意のアイデアを指定された例外?

doThrow(new Exception()).when(mockedObject.methodReturningVoid(...)); 
+0

可能な二重に説明されて

doThrow(new Exception()).when(mockedObject).methodReturningVoid(...); ^ 

なく

doThrow(new Exception()).when(mockedObject.methodReturningVoid(...)); ^ 

を使用する必要がありますhttps://stackoverflow.com/question/2276271/how-to-make-mock-to-void-methods-with-mockito) – Willian

答えて

449

かっこが間違って配置されています。 あなたは([mockitoと空のメソッドにモックを作る方法]これはのthe documentation

+3

@edwardmlyteこのMockitoの不一致は私が[MoxieMocks](https://code.google .com/p/moxiemocks/wiki/MockingLibraryComparison) – Muel

+0

@clementともに使用できます:http://docs.mockito.googlecode.com/hg/latest/org/mockito/Mockito.html#5。例外を作成してもスローされません。 –

+1

@JB Nizet doThrow(Exception.class)の代わりにdoThrow(新しいException())を書くと、テストを開始するときに次のエラーが出ます。例外com.company.project.exception.ElementNotFoundExceptionがExpectedされているが、org.mockito.exceptions.base.MockitoExceptionがある: – clement