Причина, по которой ваши модульные тесты дают сбой, заключается в том, что HttpContext.Current
требует контекст ASP.NET, который практически невозможно воссоздать в модульном тесте.Фреймворки, такие как ASP.NET MVC, абстрагируют это, используя HttpContextBase , который можно легко смоделировать в модульном тесте.
Также вам не следует использовать HttpContext
в WCF.Если вы самостоятельно размещаете службу WCF, она будет работать не только в модульных тестах, но и при выполнении, что еще хуже.
Вывод:
- Каждый раз, когда вы пишете
HttpContext.Current
вметод по определению, этот метод не тестируется на модуле, поэтому даже не пытайтесь его тестировать. - Никогда не используйте
HttpContext.Current
в WCF (и если вы читали предыдущий пункт, не только в WCF: -))