Это всего лишь предложение, основанное на моем понимании вашего вопроса.
Я полагаю, вы должны делать что-то вроде этого,
public void doSomething(){
//Pre processing
Object result=new ThirdPartyCode().actualMethod(file);
//Post processing
}
Имитация объектов имеет больше смысла с точки зрения модульного тестирования.
Ваша цель не состоит в модульном тестировании сторонней библиотечной функции. В то время как это модульное тестирование метода doSomething (). Поэтому, вероятно, вы можете создать оболочку для сторонней функции. Может быть, что-то вроде этого,
public class Wrapper implements MyWrapper{
public Object invokeThirdPartyFunction(File file){
new ThirdPartyCode().actualMethod(file);
}
}
Теперь вы можете создать фиктивную оболочку (реализующую тот же интерфейс) и использовать эту фиктивную оболочку для всех ваших юнит-случаев.