Тест модуля WCF с использованием ChannelFactory

Я работаю над некоторыми услугами WCF, и они будут развернуты в Azure, поэтому я хотел бы попытаться выполнить столько тестов, сколько я могу локально, чтобы избежать бесполезных обращений к промежуточной области во время выполнения интеграционных тестов. Услуги используют шаблон CQRS, и я наложил все на следующее: - Загрузочный загрузчик для встраивания зависимостей в службы WCF - Команда для каждого метода обслуживания - Обработчик команд для перехвата команд Пока я могу полностью протестировать команды, обработчики и загрузчик. То, что мне еще нужно написать, - это тип теста:

[TestMethod]
public void Client_ReceiveValidCommand_WillExecute()
{
    var factory = new ChannelFactory("*");
    var service = factory.CreateChannel();
    var expectedCommand = BuildAddUsersCommand();
    service.AddUsers(expectedCommand);
}

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

0
nl ja de

1 ответы

Я нашел интересную статью здесь: http://www.reimers.dk/jacob-reimers-blog/testing-your-web-application-with-iis-express-and-unit-tests , в котором объясняется, как разместите свой тест в IIS express и, конечно, запустите IIS express в своих модульных тестах. Таким образом, я могу просто создать на лету новый экземпляр службы IIS и разместить мою службу WCF, запустить модульные тесты и, наконец, уничтожить все.

0
добавлено