Оберните статистику c класса MyExecutor
в нестати c класса. Извлеките методы вашего нового класса non-stati c в интерфейс. Замените зависимости на класс stati c интерфейсом - используйте внедрение зависимостей для предоставления MyExecutor
экземпляров MyClass
:
public MyExecutorAdapter implements Executor{
public void execute() {
MyExecutor.execute() //call to static code
}
}
public MyClass {
private Executor myExecutor;
public MyClass(Executor myExecutor){ //MyExecutorAdapter instance can be injected here
this.myExecutor = myExecutor;
}
public void methodToUnitTest(...){
myExecutor.execute(...)
}
}
Теперь, с помощью интерфейса, вы можете легко смоделировать или подделать реализация для целей тестирования. В вашем случае вам, вероятно, нужно иметь макет, чтобы проверить, был ли вызван метод execute
.
Это в основном известно как Adapter pattern