wood burning stoves 2.0*
The moose likes Testing and the fly likes Mockito Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Engineering » Testing
Bookmark "Mockito "when" problem" Watch "Mockito "when" problem" New topic

Mockito "when" problem

Russell Bateman
Ranch Hand

Joined: Feb 26, 2008
Posts: 69
I'm struggling trying to teach myself Mockito.

Consider the following method, hasInventory(), which should not really run in my way of thinking, but get set up to return true or false as I squirrel-cage my test. Class Warehouse is my "mocked-dependency".

In the JUnit test code, the first when() throws an exception because it literally interprets the method call (executing it) and, inventory being nil (see above), InventoryDoesNotExistException is thrown. There are other methods in the mocked-dependency class too, like add() and remove().

As I understand it, by the when() method, I'm asking Mockito precisely not to call hasInventory(), but just to return true instead whenever it's called as I test the class ("systemUnderTest"). Can anyone help me get past this point (or get some sense into my brain)?

I'm linking mockito-all-1.8.5.jar and JUnit 4.

Copious thanks to all who read this.

Russell Bateman
Ranch Hand

Joined: Feb 26, 2008
Posts: 69
Hmmm... JavaRanch doesn't seem to be a heavily Mockito-inspired place. I ended up posting to stackoverflow and then to mockito@googlegroups.com. I asked the latter to post his answer to the former forum for better visibility. Here's the answer I got:


Thanks anyway. (JavaRanch is a great forum notwithstanding!) I thought it would be nice to post this for the next guy.


I agree. Here's the link: http://aspose.com/file-tools
subject: Mockito "when" problem
Similar Threads
EnumSet bit vector values
Row Selection problems with JTable
Display of double in GUI different from non-GUI.
Mockito Help - Problem to sort a List of mock objects.
need help: I'm just not getting how this whole "private" / "public" class definition thing works.