Я думаю, что настоящая проблема здесь в том, что у вас есть синглтон, который вызывает и создает веб-сервис, поэтому сложно вставить фиктивный.
Возможно, вам придется добавить (возможно, на уровне пакета) доступ к одноэлементному классу. Например, если конструктор выглядит примерно так:
private GeoLocationFactory(WebService service) {
...
}
Вы можете сделать уровень пакета конструктора и просто создать его с помощью поддельного веб-сервиса.
В качестве альтернативы вы можете установить веб-сервис, добавив метод установки, хотя мне не нравятся изменяемые синглтоны. Также в этом случае вы должны помнить, чтобы впоследствии отключить веб-сервис.
Если веб-сервис создан в методе, вам может потребоваться сделать расширяемый GeoLocationFactory, чтобы заменить имитирующий сервис.
Вы также можете посмотреть на удаление самого синглтона. В Интернете есть статьи и, вероятно, здесь, как это сделать.