Для теста интеграции мне нужно высмеять конкретный метод в клиенте java-сервиса, не уничтожая остальную информацию в нем. Он не имеет собственного конструктора, поэтому решение, как это может быть и речи:Можно ли издеваться над одним методом в уже существующем объекте?
private DBClient mockClient = new DBClient(alreadyExistingClient){
@Override
void deleteItem(Item i){
//my stuff goes here
}
};
Есть ли способ, чтобы дразнить метод DeleteItem таким образом, что учетные данные, конечные точки, и т.д. ... сохранены в существующий Объект DBClient?
редактировать: Mockito не доступен для использования в данном случае
'mockito' был не упоминается тег, но он предлагает [шпион рутина] (HTTP: //mockito.googlecode.com/svn/branches/1.5/javadoc/org/mockito/Mockito.html#spy (T)) для этой цели –
Возможный дубликат [Powermock - как издеваться над определенным методом и оставить остальную часть объект как есть] (http://stackoverflow.com/questions/9305167/powermock-how-to-mock-a-specific-method-and-leave-the-rest-of-the-object-as-is) –
В этом случае Mockito не является доступной структурой. – AdamSpurgin