Автоматизация тестирования WCF сервисов

Post on 24-Jan-2015

1.252 views 0 download

description

Доклад Руфины Сарваровой на конференции SQA Days-12, 30 ноября-1 декабря, Минск

Transcript of Автоматизация тестирования WCF сервисов

Автоматизация тестирования WCF

Сарварова Руфина

С чего начиналось..

WCF 4.5

.Net 4.5

SQL Server 2012

Snip C#

Visual Studio 2012

Azure, Azure SQL Databases

Team Foundation Server 2012

• программный фреймворк, используемый для обмена данными между приложениями входящими в состав .NET Framework.

Хостинг WCF

• IIS • Windows Activation Service• Windows Service• Self-hosting

WCF : Client

• Service - функциональный модуль доступный извне• Client - сторона, использующая функциональность

службы

WCF : Service

• Service Contract• Operation Contract• Data Contract• Data Member

WCF: Binding

BasicHttpBinding WsHttpBinding WsDualHttpBinding WsFederationHttpBinding  NetNamedPipeBinding NetTcpBinding NetPeerTcpBinding NetMsmqBinding 

WCF: Binding

WCF : Endpoint

• Address - куда следует отправлять сообщения• Binding - как необходимо отправлять сообщения• Contract - что должно содержать сообщение

WCF config editor

Тестирование WCF

1. Вручную с помощью интерфейса.

2. Отладка операций службы при помощи WcfTestClient.exe.

3. Добавление ссылки на службу и создание прокси-класса в клиенте.

4. Генерация прокси-класса с помощью SvcUtil.

5. Тестирование и настройка специализированного клиента (Channel Factory).

WcfTestClient

WcfTestClient

Входные данные для вызова функций

Полученный результат, возвращаемый сервисом

Service Reference

Вставляем скопированный адрес метаданных

и нажимаем Go

Кнопка для поиска служб внутри проекта

Доступные конечные точки службы Service1

Пространство имён в котором будет создан прокси-класс

Операции службы Service1

Доступ к метаданным через MEX-точку:

Client

В приложение была добавлена ссылка на

службу

Прокси-класс для взаимодействия со службой

(к имени службы добавлено слово Client)

ServiceModel Metadata Utility Tool

Спасибо!

Rufina.Sarvarova@ts.fujitsu.com