Я использую Mockito и хочу сделать, надеюсь, простую вещь. Как мне высмеять метод void для определенного класса? Я пытался ...Как я могу высмеять метод void и оставить все остальное с помощью mockito?
CacheService cs = mock(CacheService.class);
when(cs.startCache()).then(PopulateCache.addTestEntriesToCache());
Но я получаю ошибку компиляции
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:testCompile (default-testCompile) on project cme-productplus-web: Compilation failure: Compilation failure:
[ERROR] \Documents and Settings\E18538\workspace\cme-productplus-web\src\test\java\com\cme\clearing\product\server\PopulateCacheServiceImpl.java:[32,65] 'void' type not allowed here
[ERROR] \Documents and Settings\E18538\workspace\cme-productplus-web\src\test\java\com\cme\clearing\product\server\PopulateCacheServiceImpl.java:[32,20] 'void' type not allowed here
Мое намерение состоит в том, вместо того, чтобы вызвать нормальный код CacheService.startCache, я хочу назвать свой собственный метод, " PopulateCache.addTestEntriesToCache()». Как я могу это сделать?
Edit: Per ответ данного, я пытался редактировать мой класс, где я реализую Мок, но издеваться метод (doAnswer, предположительно) не вызывался ...
public class PopulateCacheServiceImpl extends RemoteServiceServlet implements PopulateCacheService {
/**
*
*/
private static final long serialVersionUID = 1L;
public Boolean initCache() {
boolean ret = false;
try {
setupMockCache();
CacheService.getInstance().startCache();
ret = true;
} catch (Exception e) {
e.printStackTrace(System.err);
ret = false;
} // try
return ret;
} // initCache
private void setupMockCache() {
CacheService cs = mock(CacheService.class);
try {
doAnswer(new Answer<Object>() {
public Object answer(InvocationOnMock invocation) throws Throwable {
PopulateCache.addTestEntriesToCache();
return null;
}
}).when(cs).startCache();
} catch (SQLException e) {
e.printStackTrace();
}
} // setupMockCache
}
Спасибо - Дэйв
Возможный дубликат http://stackoverflow.com/questions/2276271/how-to-make-mock-to-void-methods-with-mockito – Gray
«Nya nya nya, вы недействительный метод!» – yshavit