spöttischen Wenn ich versuche, den folgenden TestMockito Ausnahme beim
public class FavoriteServiceTest extends AbstractCoreTest {
@Autowired
private FavoriteRepository favoriteRepository;
@Autowired
private RevisionService revisionService;
@Autowired
private FavoriteService favoriteService;
@Before
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
when(revisionService.getGlobalRevisionNumber()).thenReturn(1L);
}
@Test
public void loadFavorites() throws Exception {
when(favoriteRepository.findFavoritesByUserId("123")).thenReturn(Collections.emptyList());
List<Favorite> favorites = favoriteService.loadFavorites(123L);
assertThat(favorites.size(), is(0));
}
ich die folgende Ausnahme laufen, aber ich bin ziemlich sicher, dass das Mock richtige
org.mockito.exceptions.misusing initialisiert ist .MissingMethodInvocationException: when() benötigt ein Argument, das 'ein Methodenaufruf bei einem Mock' sein muss. Zum Beispiel: wenn (mock.getArticles()). ThenReturn (Artikel);
Auch dieser Fehler kann angezeigt werden, weil: 1. Sie stub entweder final/private/equals()/hashCode() -Methoden. Diese Methoden können nicht Stubbled/verifiziert werden. Spottungsmethoden , die für nicht öffentliche Elternklassen deklariert sind, werden nicht unterstützt. 2. innerhalb von w wenn() Sie nicht Methode auf Mock sondern auf ein anderes Objekt aufrufen.
bei FavoriteServiceTest.setUp (FavoriteServiceTest.java:44) bei sun.reflect.NativeMethodAccessorImpl.invoke0 (native Methode) bei sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) bei sun.reflect .DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) bei java.lang.reflect.Method.invoke (Method.java:498) um org.junit.runners.model.FrameworkMethod $ 1.runReflectiveCall (FrameworkMethod.java:50) um org.junit.internal.runners.model.ReflectiveCallable.run (ReflectiveCallable.java:12) um org.junit.runners.model.Framewor kMethod.invokeExplosively (FrameworkMethod.java:47) bei org.junit.internal.runners.statements.RunBefores.evaluate (RunBefores.java:24)
Überprüfen Sie den folgenden Link wird es Ihnen helfen .. http://StackOverflow.com/Questions/9186604/mockito-Exception-when-requires-an-argument-which-has-to-be-a-method -rufen-auf – kaushik