when I run mockito test occurs WrongTypeOfReturnValue Exception
Solution 1:
According to https://groups.google.com/forum/?fromgroups#!topic/mockito/9WUvkhZUy90, you should rephrase your
when(bar.getFoo()).thenReturn(fooBar)
to
doReturn(fooBar).when(bar).getFoo()
Solution 2:
Another reason for similar error message is trying to mock a final
method. One shouldn't attempt to mock final methods (see Final method mocking).
I have also confronted the error in a multi-threaded test. Answer by gna worked in that case.
Solution 3:
Very interested problem. In my case this problem was caused when I tried to debug my tests on this similar line:
Boolean fooBar;
when(bar.getFoo()).thenReturn(fooBar);
The important note is that the tests were running correctly without debugging.
In any way, when I replaced above code with below code snippet then I was able to debug the problem line without problems.
doReturn(fooBar).when(bar).getFoo();