Если вы хотите новый экземпляр в каждом вызове, я бы предложил рефакторинг следующим образом:
class ClassToTest {
public doSomething () {
SomeObject a = getInstance();
a.doSomethingElse ();
}
protected SomeObject getInstance() {
return new SomeObject();
}
}
Затем вы можете создать тестовый класс, расширяющий ClassToTest, переопределяя метод getInstance (), с однимпоставка фиктивного объекта.
Это, конечно, жизнеспособно, только если вы в порядке с предоставлением метода getInstance (), поэтому я не рекомендую его, если класс является частью общедоступного API.Если это так, рассмотрите возможность предоставления фабричного класса, используя внедрение зависимостей.