Модульное тестирование веб-сервиса - PullRequest
1 голос
/ 21 июля 2009

Это интересный вопрос, я уверен, что многие люди выиграют от знания.

типичный веб-сервис возвращает сериализованный сложный тип данных, например:

<orgUnits>
 <orgUnit>
     <name>friendly name</orgUnit>
 </orgUnit>
 <orgUnit>
     <name>friendly name</orgUnit>
 </orgUnit>
</orgUnits>

По-видимому, модульное тестирование VS2008 требует точного соответствия возвращаемого объекта, то есть если объект (целевой и фактический) идентичен с точки зрения структуры и содержания.

То, что я хотел бы сделать вместо этого, это утверждать, только если структура в порядке, и нет ошибок.

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

1.Есть ли способ проверки только на основе статуса возврата 2. В лучшем случае можно сравнивать деревья документов на предмет структурной целостности цели и факта и утверждать, основываясь на структуре, которая является надежной, а не на содержании.

Заранее спасибо:)

Ответы [ 2 ]

2 голосов
/ 21 июля 2009

Я думаю, что это дубликат WSDL Testing

В этом ответе я предложил SoapUI как хороший инструмент для использования

1 голос
/ 21 июля 2009

Ответом, специфичным для вашего требования, будет сравнение сериализованных версий (с XML) объекта вместо самих объектов.

Подход в вашем тестовом случае

  1. Допустим, вы ожидаете возврата, как ожидается .xml от вашего веб-сервиса.
  2. Запустите сервис и получите актуальный объект. Сериализуйте это в актуальный .xml.
  3. Сравните actual.xml и Ожидаемый.xml, используя такую ​​библиотеку, как xmldiff (сравнивает структурные изменения / изменения на уровне XML).
  4. На основе выходных данных xmldiff определить, прошел ли веб-сервис тест.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...