2009-11-25 2 views
3

У меня есть WCF-сервер, который является сборкой библиотеки. (Я пишу это, чтобы я мог высмеять ниже уровня). Он называется var client helper class, который находится в другой сборке. Поскольку передаваемые данные сложны, и сервер должен отправлять обратные вызовы клиентам, я хочу проверить код WCF в изоляции.Как выполнить тестирование сервера/клиента WCF?

(Я заинтересован только в TCP канал или канал NamePipe)

я не хочу издеваться WCF, как риск я пытаюсь контролировать мое использование WCF.

Это есть простой способ

  • Загрузить мой WCF сервер в другой домен приложения
    (я мог загрузить WCF сервер в основной домен приложения, но потом я его труднее доказать, что объекты были сериализовать правильно, а не просто указатель передвигался.)
  • Setup всех конфигураций WCF поэтому класс клиента может назвать его (скорее всего с именем трубой или TCP)
  • и использовать его в каком-то тесте NUnit
  • Я скорее не буду тестировать свои модули в зависимости от файла конфигурации.

Я ожидаю (надежда), что есть некоторые классы UTIL для создания теста WCF модуля, который я могу только передать тип моего класса серверного и даст мне обратно клиенту завод, который подключается к серверу ,

Я иду об этом неправильно, например, есть лучший способ тестирования моего уровня общения и использования WCF?

ответ

2

Это самый простой способ, если вы развернете службу в proc, потому что тогда вам не нужно писать много сложного кода синхронизации, чтобы определить, когда служба работает, а когда нет.

Не беспокойтесь о проходящих указателях - они не будут (если вы не выберете новое связывание в proc в WCF 4). Это привязка, которая определяет, как и если объекты сериализуются. Именованные трубы отлично подходят для этой цели.

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

Вы также можете посмотреть a series of blog posts Я написал про очень похожую тему.

0

Вы можете использовать SOA Cleaner для тестирования вашего WCF. Взгляните на http://xyrow.com Установка не требуется. Это не модульное тестирование, но оно может быть очень полезно (вы можете запустить его в своей сборке, так как он поддерживает также командную строку).

+0

Извините, что я хочу включить wapper на стороне клиента, который я написал также в тестах, поскольку он регистрирует обратные вызовы и т. Д. Поэтому мне нужно протестировать с помощью C# –

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