user1772643
user1772643

Reputation: 645

writing unit test using mockito

I am writing unit tests in java using mockito.

This is the statement that I am trying to test.

final Map<EntityKey, Element<Movie>> resultMap = Watcher.watch(movies);

movies is Set of movie names which is a key to identify a movie.

I mocked watcher class

final Watcher<Movie> watcher = mock(Watcher.class);

Mockito.when(watcher.watch(Matchers.any(Set.class))).thenReturn()

what to include in "thenReturn"??

Upvotes: 0

Views: 394

Answers (2)

Dawood ibn Kareem
Dawood ibn Kareem

Reputation: 79877

You would need to make a Map<EntityKey,Element<Movie>> that would be suitable for use in the rest of the test. I'm not quite sure what your test is actually trying to assert, but whatever it is, choose the Map accordingly. Your Map object is what you want to return from thenReturn.

Upvotes: 0

cowls
cowls

Reputation: 24354

In the thenReturn function you need to pass an object of the same type as the method you are mocking's return type.

When this method is then called on that object, it will return the object you passed to thenReturn instead of actually going into the function.

This is the core concept behind mocking.

Having said that. If you are trying to test the Watcher.watch method then you probably don't want to mock it anyway. You should only mock those classes you are NOT testing.

Upvotes: 1

Related Questions