Я хочу написать несколько интеграционных тестов для сравнения WSDL, сгенерированного сервисами WCF, с предыдущими (и опубликованными) версиями. Это делается для того, чтобы контракты на обслуживание не отличались от времени выпуска.
Я бы хотел, чтобы мои тесты были автономными и не полагались на какие-либо внешние ресурсы, такие как хостинг на IIS.
Я думаю, что смогу воссоздать свою среду размещения IIS в тесте с помощью чего-то вроде ...
using (ServiceHost host = new ServiceHost(typeof(NSTest.HelloNS), new Uri("http://localhost:8000/Omega")))
{
host.AddServiceEndpoint(typeof(NSTest.IMy_NS), new BasicHttpBinding(), "Primary");
ServiceMetadataBehavior behavior = new ServiceMetadataBehavior();
behavior.HttpGetEnabled = true;
host.Description.Behaviors.Add(behavior);
host.AddServiceEndpoint(typeof(IMetadataExchange), MetadataExchangeBindings.CreateMexHttpBinding(), "mex");
host.Open();
}
У кого-нибудь есть идеи получше?
EDIT:
Очевидно, что этот код просто создает хост для службы, мне все еще не хватает клиентского кода для получения определения WSDL.