2009-09-02 2 views
1

У меня есть сборка, которая обертывает функциональность внешнего веб-сервиса в реальном времени.Тестирование обертки веб-службы

Как я могу эффективно протестировать этот веб-сервис. Должен ли я создать заглушку веб-службы или я должен писать тесты, которые отправляют и получают данные в реальном времени в веб-службу?

Проблема, которая возникает со вторым подходом, заключается в том, что если я отправлю и ожидаю реальные данные из веб-службы, то я не могу утверждать результаты каждый раз, поскольку они могут измениться!

ответ

1

Если оболочка только переадресовывает вызовы веб-сервисам без условной логики вообще, нет смысла создавать тесты против нее, которые не проходят через настоящую веб-службу. В этом случае вам нужно создать один тест для каждой операции, который должен только проверять возможность доступа к веб-службе и возвращаться без неожиданных ошибок. Полученные данные действительно не имеют значения. Это интеграционный тест между вашей оберткой и веб-сервисом.

Если ваша обертка содержит условную логику, тогда может быть хорошей идеей создать тесты, которые осуществляют все пути. Будет легче протестировать эти случаи, если вы не будете зависеть от реального веб-сервиса.

Для тестирования кода клиента (код, который вызывает оболочку), вы должны заглушить оболочку или закрыть заглушку. Это даст вам контроль, который вам нужен, чтобы гарантировать, что клиент всегда получает тот же результат с одним и тем же входом.

Смежные вопросы