Consider the scenario where you have to stub a method using when. In a case where parameter is a class not an object then the Matchers.any will not help in that case. Following is the code to be tested and one wrong way of stubbing.
// code to be tested Long primaryKey = 12345L; final App app = getEntityManager().find(App.class, primaryKey); // stubbing the find method when(em.find(Matchers.any(Class.class), Matchers.same(primaryKey))) .thenReturn(app);Instead of using Matchers.any we should use Matchers.isA as the way of stubbing. Following is correct way of stubbing in this setup.
when(em.find((ClassThe original answer was found on stackoverflow.) Matchers.isA(Class.class), Matchers.same(primaryKey))) .thenReturn(app);