Насмешливый WebOperationContext - PullRequest
       18

Насмешливый WebOperationContext

1 голос
/ 29 декабря 2011

Я использую WCFMock для насмешки над WebOperationContext в моем веб-сервисе.Единственное использование - добавить собственный заголовок HTTP в коллекцию WebOperationContext.Current.OutgoingResponse.Headers.Я не могу проверить это с помощью Moq.Что я уже пробовал:

  • Проверьте, вызывается ли метод Add.Это терпит неудачу, потому что Add не является виртуальным
  • Попробуйте получить доступ к заголовку непосредственно из MockedWebOperationContext.Current.Это всегда ноль в числе

Как я могу проверить в моем модульном тесте, что был добавлен пользовательский заголовок?

1 Ответ

4 голосов
/ 04 января 2012

Разобрался.Вот решение для потомков.

Когда мы создаем «moq mock» для IWebOperationContext, в примере предлагается установить свойство DefaultValue = DefaultValue.Mock.Это будет издеваться над всеми зависимостями, включая коллекцию HttpHeaders.Я пропустил это и высмеял OutgoingWebResponseContext, чтобы вернуть WebHeaderCollection.Для моего теста я просто утверждаю на этой коллекции.

...