Генерация WSDL и интерфейсы для тестируемости - PullRequest
2 голосов
/ 21 октября 2010

У меня есть веб-сервис, который я хочу использовать в своем приложении. Чтобы иметь возможность тестировать другие части приложения, я создал Интерфейс, который позволяет мне тестировать с использованием макетов и заглушек.

Я могу добавить интерфейс к сгенерированному коду из веб-службы, однако, если в какой-то момент времени сгенерировать код, я потеряю интерфейс на сгенерированном коде.

Какие стратегии или шаблоны можно использовать в этой ситуации, чтобы минимизировать сбои при восстановлении ссылки на веб-службу.

1 Ответ

1 голос
/ 21 октября 2010

Создайте оболочку вокруг сгенерированного прокси-кода, и вот где ваш код идет.Никогда не изменяйте сгенерированный прокси, так как вы должны считать его «расходным».Я пришел из истории Delphi, но я ожидаю, что это применимо и здесь.

Обновление: Оболочка должна управлять временем жизни базового объекта SOAP (объявлять и создавать экземпляр прокси-класса)и предоставлять полезные свойства и методы вашему приложению таким образом, чтобы любые изменения WSDL (и, следовательно, прокси) не влияли на остальную часть приложения (сильно).то есть это слой абстракции, скрывающий кровавые детали.В моем случае я также занимаюсь вопросами сериализации (SOAP XML не всегда является тем, что, по мнению моего прокси, должно быть, возможно, потому что мы используем более старую версию Delphi), внедряю сертификаты безопасности, управляю конечными точками и регистрирую данные в/из.Остальная часть приложения, к счастью, ничего не знает, вместо этого она вызывает такие функции, как:

SendWidgets('select id from WidgetTable where status = NEW');
GetWidgets(path_to_WidgetTable);
ShowWidgetLog(Today-1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...