Допустим, у меня есть класс, подобный следующему:
public class Test{
private RemoteDoc.Documentation docService = new RemoteDoc.Documentation();
public Test(){}
}
Так что это затрудняет юнит-тестирование, поскольку существует зависимость от прокси-класса. Вы можете передать объект через конструктор следующим образом:
public class Test{
private RemoteDoc.Documentation docService;
public Test(RemoteDoc.Documentation serv)
{
docService = serv;
}
}
Теперь в моих модульных тестах я могу создать экземпляр класса Test и передать макетированный объект в конструктор. Однако это решение не является идеальным, поскольку теперь другие классы должны знать о прокси-классе RemoteDoc.Documentation и иметь явные ссылки на него. Что является хорошим решением этой проблемы?
РЕДАКТИРОВАТЬ: Чтобы быть более понятным, RemoteDoc.Documentation является прокси-класс для веб-ссылки. Подумайте об этом, как если бы вы использовали API-интерфейс salesforce.com, и все, что у вас есть, - это файлы wsdl и disco.