Трудно сказать точно что здесь делать, но в целом:
Используйте некоторые методы IoC - конструктор, инъекция сеттера.
Используйте насмешливые рамки, чтобы высмеивать ваши объекты, я бы порекомендовал
Mockito.
Так, например, если у вас есть класс, который использует com.myco.clearing.product.server.cache.Cache
, давайте назовем его Foo
. И вы используете сейчас, как это:
class Foo {
private Cache _cache = new Cache( ... );
}
Если возможно, замените его следующим образом:
class Foo {
private Cache _cache;
public Foo( Cache cache ) {
_cache = cache;
}
public Foo() {
this( new Cache() );
}
}
Тогда вы сможете использовать инъекцию в версии Cache
. Я говорю «может быть в состоянии», поскольку это зависит от класса Cache
. Если он окончательный, имеет кучу статических методов и т. Д., То вам нужно иметь дело с другими.